@operato/scene-restful 0.1.2
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/CHANGELOG.md +8 -0
- package/LICENSE +21 -0
- package/README.md +13 -0
- package/boards/boards.json +12 -0
- package/boards/groups.json +7 -0
- package/boards/models/SAMPLE.json +70 -0
- package/demo/index.html +116 -0
- package/demo/things-scene-restful.html +5 -0
- package/demo/things-theme.html +178 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -0
- package/dist/jsonp.d.ts +19 -0
- package/dist/jsonp.js +73 -0
- package/dist/jsonp.js.map +1 -0
- package/dist/restful.d.ts +68 -0
- package/dist/restful.js +223 -0
- package/dist/restful.js.map +1 -0
- package/helps/scene/component/restful.ko.md +12 -0
- package/helps/scene/component/restful.md +11 -0
- package/helps/scene/component/restful.zh.md +13 -0
- package/icons/restful.png +0 -0
- package/package.json +62 -0
- package/src/index.ts +5 -0
- package/src/jsonp.ts +85 -0
- package/src/restful.ts +265 -0
- package/test/basic-test.html +67 -0
- package/test/index.html +24 -0
- package/test/unit/test-restful.js +33 -0
- package/test/unit/util.js +22 -0
- package/things-scene.config.js +24 -0
- package/translations/en.json +6 -0
- package/translations/ko.json +6 -0
- package/translations/zh.json +6 -0
- package/tsconfig.json +22 -0
- package/tsconfig.tsbuildinfo +1 -0
package/src/restful.ts
ADDED
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
import { Component, DataSource, RectPath, Shape, warn } from '@hatiolab/things-scene'
|
|
2
|
+
|
|
3
|
+
import jsonp from './jsonp'
|
|
4
|
+
|
|
5
|
+
const NATURE = {
|
|
6
|
+
mutable: false,
|
|
7
|
+
resizable: true,
|
|
8
|
+
rotatable: true,
|
|
9
|
+
properties: [
|
|
10
|
+
{
|
|
11
|
+
type: 'string',
|
|
12
|
+
label: 'url',
|
|
13
|
+
name: 'url'
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
type: 'number',
|
|
17
|
+
label: 'period',
|
|
18
|
+
name: 'period',
|
|
19
|
+
placeholder: 'SECONDS'
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
type: 'select',
|
|
23
|
+
label: 'data-format',
|
|
24
|
+
name: 'dataFormat',
|
|
25
|
+
property: {
|
|
26
|
+
options: [
|
|
27
|
+
{
|
|
28
|
+
display: 'Plain Text',
|
|
29
|
+
value: 'text'
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
display: 'JSON',
|
|
33
|
+
value: 'json'
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
display: 'JSONP',
|
|
37
|
+
value: 'jsonp'
|
|
38
|
+
}
|
|
39
|
+
]
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
type: 'checkbox',
|
|
44
|
+
label: 'with-credentials',
|
|
45
|
+
name: 'withCredentials'
|
|
46
|
+
}
|
|
47
|
+
],
|
|
48
|
+
'value-property': 'url',
|
|
49
|
+
help: 'scene/component/restful'
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
const REST_IMAGE =
|
|
53
|
+
'data:image/png;base64,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'
|
|
54
|
+
|
|
55
|
+
const WARN_NO_URL = 'Valid URL property required'
|
|
56
|
+
|
|
57
|
+
export default class Restful extends DataSource(RectPath(Shape)) {
|
|
58
|
+
static _image: HTMLImageElement
|
|
59
|
+
|
|
60
|
+
static get image() {
|
|
61
|
+
if (!Restful._image) {
|
|
62
|
+
Restful._image = new Image()
|
|
63
|
+
Restful._image.src = REST_IMAGE
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
return Restful._image
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
get url() {
|
|
70
|
+
return this.getState('url')
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
set url(url) {
|
|
74
|
+
this.setState('url', url)
|
|
75
|
+
this._initRestful()
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
get period() {
|
|
79
|
+
return this.state.period * 1000
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
set period(period) {
|
|
83
|
+
this.setState('period', period)
|
|
84
|
+
this._initRestful()
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
get withCredentials() {
|
|
88
|
+
return !!this.getState('withCredentials')
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
set withCredentials(withCredentials) {
|
|
92
|
+
this.setState('withCredentials', withCredentials)
|
|
93
|
+
this._initRestful()
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
_repeatTimer!: NodeJS.Timeout
|
|
97
|
+
_httpRequest?: any
|
|
98
|
+
_isStarted = false
|
|
99
|
+
_convertDataFormat?: any
|
|
100
|
+
|
|
101
|
+
get repeatTimer() {
|
|
102
|
+
return this._repeatTimer
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
set repeatTimer(repeatTimer) {
|
|
106
|
+
this._stopRepeater()
|
|
107
|
+
this._repeatTimer = repeatTimer
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
get httpRequest() {
|
|
111
|
+
return this._httpRequest
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
set httpRequest(httpRequest) {
|
|
115
|
+
this._httpRequest = httpRequest
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
ready() {
|
|
119
|
+
this._initRestful()
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
_initRestful() {
|
|
123
|
+
if (!this.app.isViewMode) return
|
|
124
|
+
|
|
125
|
+
if (!this.url) {
|
|
126
|
+
warn(WARN_NO_URL)
|
|
127
|
+
return
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
this._stopRepeater()
|
|
131
|
+
this._startRepeater()
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
dispose() {
|
|
135
|
+
super.dispose()
|
|
136
|
+
this._stopRepeater()
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
_startRepeater() {
|
|
140
|
+
this._isStarted = true
|
|
141
|
+
|
|
142
|
+
var self = this
|
|
143
|
+
|
|
144
|
+
// requestAnimationFrame 이 호출되지 않을 때는 ajax 호출도 하지 않도록 함.
|
|
145
|
+
function _() {
|
|
146
|
+
if (!self._isStarted) {
|
|
147
|
+
return
|
|
148
|
+
}
|
|
149
|
+
self.callAjax()
|
|
150
|
+
|
|
151
|
+
if (!self.period) {
|
|
152
|
+
self._stopRepeater()
|
|
153
|
+
return
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
self._repeatTimer = setTimeout(() => {
|
|
157
|
+
requestAnimationFrame(_)
|
|
158
|
+
}, self.period)
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
requestAnimationFrame(_)
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
_stopRepeater() {
|
|
165
|
+
this._abortRequest()
|
|
166
|
+
|
|
167
|
+
if (this.repeatTimer) clearTimeout(this._repeatTimer)
|
|
168
|
+
this._isStarted = false
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
_makeRequest(url: string) {
|
|
172
|
+
if (window.XMLHttpRequest) {
|
|
173
|
+
// Mozilla, Safari, ...
|
|
174
|
+
this.httpRequest = new XMLHttpRequest()
|
|
175
|
+
// @ts-ignore
|
|
176
|
+
} else if (window.ActiveXObject) {
|
|
177
|
+
// IE
|
|
178
|
+
try {
|
|
179
|
+
// @ts-ignore
|
|
180
|
+
this.httpRequest = new ActiveXObject('Msxml2.XMLHTTP')
|
|
181
|
+
} catch (e) {
|
|
182
|
+
try {
|
|
183
|
+
// @ts-ignore
|
|
184
|
+
this.httpRequest = new ActiveXObject('Microsoft.XMLHTTP')
|
|
185
|
+
} catch (e) {}
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
if (!this.httpRequest) {
|
|
190
|
+
warn('Giving up :( Cannot create an XMLHTTP instance')
|
|
191
|
+
return false
|
|
192
|
+
}
|
|
193
|
+
this.httpRequest.withCredentials = this.withCredentials
|
|
194
|
+
this.httpRequest.open('GET', url)
|
|
195
|
+
this.httpRequest.onreadystatechange = this.onDataReceived.bind(this)
|
|
196
|
+
|
|
197
|
+
return true
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
_makeRequestJsonp(url: string) {
|
|
201
|
+
jsonp(url, {}, (self, data) => {
|
|
202
|
+
if (!data) return
|
|
203
|
+
|
|
204
|
+
this.data = data
|
|
205
|
+
})
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
_abortRequest() {
|
|
209
|
+
if (this.httpRequest) this.httpRequest.abort()
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
onDataReceived() {
|
|
213
|
+
var { dataFormat = 'text' } = this.state
|
|
214
|
+
|
|
215
|
+
if (this.httpRequest.readyState === 4) {
|
|
216
|
+
if (this.httpRequest.status === 200) {
|
|
217
|
+
var data = this.httpRequest.responseText
|
|
218
|
+
|
|
219
|
+
if (!data) return
|
|
220
|
+
|
|
221
|
+
this.data = this._convertDataFormat(data, dataFormat)
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
callAjax() {
|
|
227
|
+
var { dataFormat = 'text' } = this.state
|
|
228
|
+
|
|
229
|
+
if (dataFormat == 'jsonp') {
|
|
230
|
+
// @ts-ignore TODO add substitute property to things-scene.d.ts
|
|
231
|
+
this._makeRequestJsonp(this.substitute(this.url, this))
|
|
232
|
+
} else {
|
|
233
|
+
// @ts-ignore TODO add substitute property to things-scene.d.ts
|
|
234
|
+
if (!this._makeRequest(this.substitute(this.url, this))) return
|
|
235
|
+
|
|
236
|
+
this.httpRequest.send()
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
_draw(context: CanvasRenderingContext2D) {
|
|
241
|
+
var { left, top, width, height } = this.bounds
|
|
242
|
+
|
|
243
|
+
context.beginPath()
|
|
244
|
+
this.drawImage(context, Restful.image, left, top, width, height)
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
ondblclick(e: Event) {
|
|
248
|
+
if (!this.url) {
|
|
249
|
+
warn(WARN_NO_URL)
|
|
250
|
+
return
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
this.callAjax()
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
get controls() {
|
|
257
|
+
return []
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
get nature() {
|
|
261
|
+
return NATURE
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
Component.register('restful', Restful)
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@license
|
|
3
|
+
Copyright © HatioLab Inc. All rights reserved.
|
|
4
|
+
-->
|
|
5
|
+
<!doctype html>
|
|
6
|
+
<html>
|
|
7
|
+
<head>
|
|
8
|
+
<meta charset="utf-8">
|
|
9
|
+
<meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1.0, user-scalable=yes">
|
|
10
|
+
|
|
11
|
+
<script src="../../webcomponentsjs/webcomponents-lite.js"></script>
|
|
12
|
+
<script src="../../web-component-tester/browser.js"></script>
|
|
13
|
+
|
|
14
|
+
<!-- Step 1: import the element to test -->
|
|
15
|
+
<link rel="import" href="../things-scene-restful.html">
|
|
16
|
+
</head>
|
|
17
|
+
<body>
|
|
18
|
+
|
|
19
|
+
<!-- You can use the document as a place to set up your fixtures. -->
|
|
20
|
+
<test-fixture id="things-scene-restful-fixture">
|
|
21
|
+
<template>
|
|
22
|
+
<things-scene-restful>
|
|
23
|
+
<h2>things-scene-restful</h2>
|
|
24
|
+
</things-scene-restful>
|
|
25
|
+
</template>
|
|
26
|
+
</test-fixture>
|
|
27
|
+
|
|
28
|
+
<script>
|
|
29
|
+
suite('<things-scene-restful>', function() {
|
|
30
|
+
|
|
31
|
+
var myEl;
|
|
32
|
+
|
|
33
|
+
setup(function() {
|
|
34
|
+
myEl = fixture('things-scene-restful-fixture');
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
test('defines the "author" property', function() {
|
|
38
|
+
assert.equal(myEl.author.name, 'Dimitri Glazkov');
|
|
39
|
+
assert.equal(myEl.author.image, 'http://addyosmani.com/blog/wp-content/uploads/2013/04/unicorn.jpg');
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
test('says hello', function() {
|
|
43
|
+
assert.equal(myEl.sayHello(), 'things-scene-restful says, Hello World!');
|
|
44
|
+
|
|
45
|
+
var greetings = myEl.sayHello('greetings Earthlings');
|
|
46
|
+
assert.equal(greetings, 'things-scene-restful says, greetings Earthlings');
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
test('fires lasers', function(done) {
|
|
50
|
+
myEl.addEventListener('things-scene-restful-lasers', function(event) {
|
|
51
|
+
assert.equal(event.detail.sound, 'Pew pew!');
|
|
52
|
+
done();
|
|
53
|
+
});
|
|
54
|
+
myEl.fireLasers();
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
test('distributed children', function() {
|
|
58
|
+
var els = myEl.getContentChildren();
|
|
59
|
+
assert.equal(els.length, 1, 'one distributed node');
|
|
60
|
+
assert.equal(els[0], myEl.querySelector('h2'), 'content distributed correctly');
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
});
|
|
64
|
+
</script>
|
|
65
|
+
|
|
66
|
+
</body>
|
|
67
|
+
</html>
|
package/test/index.html
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@license
|
|
3
|
+
Copyright © HatioLab Inc. All rights reserved.
|
|
4
|
+
-->
|
|
5
|
+
<!DOCTYPE html>
|
|
6
|
+
<html>
|
|
7
|
+
<head>
|
|
8
|
+
<meta charset="utf-8">
|
|
9
|
+
<meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1.0, user-scalable=yes">
|
|
10
|
+
|
|
11
|
+
<script src="../../webcomponentsjs/webcomponents-lite.js"></script>
|
|
12
|
+
<script src="../../web-component-tester/browser.js"></script>
|
|
13
|
+
</head>
|
|
14
|
+
<body>
|
|
15
|
+
<script>
|
|
16
|
+
// Load and run all tests (.html, .js):
|
|
17
|
+
WCT.loadSuites([
|
|
18
|
+
'basic-test.html',
|
|
19
|
+
'basic-test.html?dom=shadow'
|
|
20
|
+
]);
|
|
21
|
+
</script>
|
|
22
|
+
|
|
23
|
+
</body>
|
|
24
|
+
</html>
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright © HatioLab Inc. All rights reserved.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import './util'
|
|
6
|
+
|
|
7
|
+
import { expect } from 'chai'
|
|
8
|
+
|
|
9
|
+
import '../../bower_components/things-scene-core/things-scene-min'
|
|
10
|
+
import { Restful } from '../../src/index'
|
|
11
|
+
|
|
12
|
+
describe('Restful', function () {
|
|
13
|
+
|
|
14
|
+
var board;
|
|
15
|
+
|
|
16
|
+
beforeEach(function () {
|
|
17
|
+
board = scene.create({
|
|
18
|
+
model: {
|
|
19
|
+
components: [{
|
|
20
|
+
id: 'restful',
|
|
21
|
+
type: 'restful'
|
|
22
|
+
}]
|
|
23
|
+
}
|
|
24
|
+
})
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
it('component should be found by its id.', function () {
|
|
28
|
+
|
|
29
|
+
var component = board.findById('restful')
|
|
30
|
+
|
|
31
|
+
expect(!!component).not.to.equal(false);
|
|
32
|
+
});
|
|
33
|
+
});
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright © HatioLab Inc. All rights reserved.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
var noop = () => {}
|
|
6
|
+
|
|
7
|
+
global.Canvas = require('canvas');
|
|
8
|
+
|
|
9
|
+
Canvas.prototype.setAttribute = noop;
|
|
10
|
+
Canvas.prototype.style = {};
|
|
11
|
+
|
|
12
|
+
global.Image = Canvas.Image;
|
|
13
|
+
global.screen = {
|
|
14
|
+
width: 1280,
|
|
15
|
+
height: 800
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
global.window = global;
|
|
19
|
+
|
|
20
|
+
global.addEventListener = noop;
|
|
21
|
+
global.location = {};
|
|
22
|
+
global.getComputedStyle = noop;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
const icon = new URL('./icons/restful.png', import.meta.url).href
|
|
2
|
+
|
|
3
|
+
var templates = [
|
|
4
|
+
{
|
|
5
|
+
type: 'restful',
|
|
6
|
+
description: 'restful client',
|
|
7
|
+
group:
|
|
8
|
+
'dataSource' /* line|shape|textAndMedia|chartAndGauge|table|container|dataSource|IoT|3D|warehouse|form|etc */,
|
|
9
|
+
icon,
|
|
10
|
+
model: {
|
|
11
|
+
type: 'restful',
|
|
12
|
+
left: 10,
|
|
13
|
+
top: 10,
|
|
14
|
+
width: 100,
|
|
15
|
+
height: 100,
|
|
16
|
+
hidden: true,
|
|
17
|
+
dataFormat: 'json'
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
]
|
|
21
|
+
|
|
22
|
+
export default {
|
|
23
|
+
templates
|
|
24
|
+
}
|
package/tsconfig.json
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "es2018",
|
|
4
|
+
"module": "esnext",
|
|
5
|
+
"moduleResolution": "node",
|
|
6
|
+
"noEmitOnError": true,
|
|
7
|
+
"lib": ["es2017", "dom"],
|
|
8
|
+
"strict": true,
|
|
9
|
+
"esModuleInterop": false,
|
|
10
|
+
"allowSyntheticDefaultImports": true,
|
|
11
|
+
"experimentalDecorators": true,
|
|
12
|
+
"importHelpers": true,
|
|
13
|
+
"outDir": "dist",
|
|
14
|
+
"sourceMap": true,
|
|
15
|
+
"inlineSources": true,
|
|
16
|
+
"rootDir": "src",
|
|
17
|
+
"declaration": true,
|
|
18
|
+
"incremental": true,
|
|
19
|
+
"types": ["node"]
|
|
20
|
+
},
|
|
21
|
+
"include": ["**/*.ts", "*.d.ts"]
|
|
22
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"program":{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/tslib/tslib.d.ts","../../node_modules/@types/lodash/common/common.d.ts","../../node_modules/@types/lodash/common/array.d.ts","../../node_modules/@types/lodash/common/collection.d.ts","../../node_modules/@types/lodash/common/date.d.ts","../../node_modules/@types/lodash/common/function.d.ts","../../node_modules/@types/lodash/common/lang.d.ts","../../node_modules/@types/lodash/common/math.d.ts","../../node_modules/@types/lodash/common/number.d.ts","../../node_modules/@types/lodash/common/object.d.ts","../../node_modules/@types/lodash/common/seq.d.ts","../../node_modules/@types/lodash/common/string.d.ts","../../node_modules/@types/lodash/common/util.d.ts","../../node_modules/@types/lodash/index.d.ts","../../node_modules/@hatiolab/things-scene/things-scene.d.ts","./src/jsonp.ts","./src/restful.ts","./src/index.ts","../../node_modules/@types/node/assert.d.ts","../../node_modules/@types/node/assert/strict.d.ts","../../node_modules/@types/node/globals.d.ts","../../node_modules/@types/node/async_hooks.d.ts","../../node_modules/@types/node/buffer.d.ts","../../node_modules/@types/node/child_process.d.ts","../../node_modules/@types/node/cluster.d.ts","../../node_modules/@types/node/console.d.ts","../../node_modules/@types/node/constants.d.ts","../../node_modules/@types/node/crypto.d.ts","../../node_modules/@types/node/dgram.d.ts","../../node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/@types/node/dns.d.ts","../../node_modules/@types/node/dns/promises.d.ts","../../node_modules/@types/node/domain.d.ts","../../node_modules/@types/node/events.d.ts","../../node_modules/@types/node/fs.d.ts","../../node_modules/@types/node/fs/promises.d.ts","../../node_modules/@types/node/http.d.ts","../../node_modules/@types/node/http2.d.ts","../../node_modules/@types/node/https.d.ts","../../node_modules/@types/node/inspector.d.ts","../../node_modules/@types/node/module.d.ts","../../node_modules/@types/node/net.d.ts","../../node_modules/@types/node/os.d.ts","../../node_modules/@types/node/path.d.ts","../../node_modules/@types/node/perf_hooks.d.ts","../../node_modules/@types/node/process.d.ts","../../node_modules/@types/node/punycode.d.ts","../../node_modules/@types/node/querystring.d.ts","../../node_modules/@types/node/readline.d.ts","../../node_modules/@types/node/repl.d.ts","../../node_modules/@types/node/stream.d.ts","../../node_modules/@types/node/stream/promises.d.ts","../../node_modules/@types/node/stream/consumers.d.ts","../../node_modules/@types/node/stream/web.d.ts","../../node_modules/@types/node/string_decoder.d.ts","../../node_modules/@types/node/timers.d.ts","../../node_modules/@types/node/timers/promises.d.ts","../../node_modules/@types/node/tls.d.ts","../../node_modules/@types/node/trace_events.d.ts","../../node_modules/@types/node/tty.d.ts","../../node_modules/@types/node/url.d.ts","../../node_modules/@types/node/util.d.ts","../../node_modules/@types/node/v8.d.ts","../../node_modules/@types/node/vm.d.ts","../../node_modules/@types/node/wasi.d.ts","../../node_modules/@types/node/worker_threads.d.ts","../../node_modules/@types/node/zlib.d.ts","../../node_modules/@types/node/globals.global.d.ts","../../node_modules/@types/node/index.d.ts"],"fileInfos":[{"version":"6adbf5efd0e374ff5f427a4f26a5a413e9734eee5067a0e86da69aea41910b52","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","e21c071ca3e1b4a815d5f04a7475adcaeea5d64367e840dd0154096d705c3940",{"version":"abba1071bfd89e55e88a054b0c851ea3e8a494c340d0f3fab19eb18f6afb0c9e","affectsGlobalScope":true},{"version":"d8996609230d17e90484a2dd58f22668f9a05a3bfe00bfb1d6271171e54a31fb","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"4378fc8122ec9d1a685b01eb66c46f62aba6b239ca7228bb6483bcf8259ee493","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"1b3fe904465430e030c93239a348f05e1be80640d91f2f004c3512c2c2c89f34","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"d071129cba6a5f2700be09c86c07ad2791ab67d4e5ed1eb301d6746c62745ea4","affectsGlobalScope":true},{"version":"10bbdc1981b8d9310ee75bfac28ee0477bb2353e8529da8cff7cb26c409cb5e8","affectsGlobalScope":true},"12f4cfe2fe60b810c3174537bc2ddb20c1067b7768643d12cb1266fd183afb75","675e702f2032766a91eeadee64f51014c64688525da99dccd8178f0c599f13a8","378df8bbbb9e3f6fca05d58f644aab538e1062eab5e778fb0b83d41125df246d","d88a479cccf787b4aa82362150fbeba5211a32dbfafa7b92ba6995ecaf9a1a89","187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","c24ad9be9adf28f0927e3d9d9e9cec1c677022356f241ccbbfb97bfe8fb3d1a1","0ec0998e2d085e8ea54266f547976ae152c9dd6cdb9ac4d8a520a230f5ebae84","9364c7566b0be2f7b70ff5285eb34686f83ccb01bda529b82d23b2a844653bfb","00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","ae9930989ed57478eb03b9b80ad3efa7a3eacdfeff0f78ecf7894c4963a64f93","3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","3e59f00ab03c33717b3130066d4debb272da90eeded4935ff0604c2bc25a5cae","6ac6f24aff52e62c3950461aa17eab26e3a156927858e6b654baef0058b4cd1e",{"version":"0714e2046df66c0e93c3330d30dbc0565b3e8cd3ee302cf99e4ede6220e5fec8","affectsGlobalScope":true},"a7970032f227e550a42369401c1b222c8177740e2650cab9c2e6a0ed15a6e68f","7172ba918f6be1f11303b43cb11b61e6f7a5d809a76bd17c19fd9653da93d43c","3f3c84f558bb51806a3d89362bd2fbcf524a1c4debc25f6c06ae8adcb00e4d0d","2b3a3527a046942eff5d94fd51faa2fd386681d726148a602bd3cc9d9bc1a572","0d5a2ee1fdfa82740e0103389b9efd6bfe145a20018a2da3c02b89666181f4d9","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"92d63add669d18ebc349efbacd88966d6f2ccdddfb1b880b2db98ae3aa7bf7c4","affectsGlobalScope":true},"ccc94049a9841fe47abe5baef6be9a38fc6228807974ae675fb15dc22531b4be",{"version":"9acfe4d1ff027015151ce81d60797b04b52bffe97ad8310bb0ec2e8fd61e1303","affectsGlobalScope":true},"95843d5cfafced8f3f8a5ce57d2335f0bcd361b9483587d12a25e4bd403b8216","afc6e96061af46bcff47246158caee7e056f5288783f2d83d6858cd25be1c565",{"version":"34f5bcac12b36d70304b73de5f5aab3bb91bd9919f984be80579ebcad03a624e","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","2f520601649a893e6a49a8851ebfcf4be8ce090dc1281c2a08a871cb04e8251f","f50c975ab7b50e25a69e3d8a3773894125b44e9698924105f23b812bf7488baf","2b8c764f856a1dd0a9a2bf23e5efddbff157de8138b0754010be561ae5fcaa90","76650408392bf49a8fbf3e2b6b302712a92d76af77b06e2da1cc8077359c4409","0af3121e68297b2247dd331c0d24dba599e50736a7517a5622d5591aae4a3122","6972fca26f6e9bd56197568d4379f99071a90766e06b4fcb5920a0130a9202be",{"version":"4a2628e95962c8ab756121faa3ac2ed348112ff7a87b5c286dd2cc3326546b4c","affectsGlobalScope":true},"80793b2277f31baa199234daed806fff0fb11491d1ebd3357e520c3558063f00","a049a59a02009fc023684fcfaf0ac526fe36c35dcc5d2b7d620c1750ba11b083","5533392c50c51b1a5c32b89f13145db929c574ef1c5949cf67a074a05ea107d9","b287b810b5035d5685f1df6e1e418f1ca452a3ed4f59fd5cc081dbf2045f0d9b","4b9a003b5c556c96784132945bb41c655ea11273b1917f5c8d0c154dd5fd20dd","a458dc78104cc80048ac24fdc02fe6dce254838094c2f25641b3f954d9721241",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"902cd98bf46e95caf4118a0733fb801e9e90eec3edaed6abdad77124afec9ca2","abc1c425b2ad6720433f40f1877abfa4223f0f3dd486c9c28c492179ca183cb6","cd4854d38f4eb5592afd98ab95ca17389a7dfe38013d9079e802d739bdbcc939","94eed4cc2f5f658d5e229ff1ccd38860bddf4233e347bf78edd2154dee1f2b99",{"version":"bd1a08e30569b0fb2f0b21035eb9b039871f68faa9b98accf847e9c878c5e0a9","affectsGlobalScope":true},"9f1069b9e2c051737b1f9b4f1baf50e4a63385a6a89c32235549ae87fc3d5492","ee18f2da7a037c6ceeb112a084e485aead9ea166980bf433474559eac1b46553","29c2706fa0cc49a2bd90c83234da33d08bb9554ecec675e91c1f85087f5a5324","0acbf26bf958f9e80c1ffa587b74749d2697b75b484062d36e103c137c562bc3","d7838022c7dab596357a9604b9c6adffe37dc34085ce0779c958ce9545bd7139","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff",{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true},"a279435e7813d1f061c0cab6ab77b1b9377e8d96851e5ed4a76a1ce6eb6e628f","c33a6ea7147af60d8e98f1ac127047f4b0d4e2ce28b8f08ff3de07ca7cc00637",{"version":"b42b47e17b8ece2424ae8039feb944c2e3ba4b262986aebd582e51efbdca93dc","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","2408611d9b4146e35d1dbd1f443ccd8e187c74614a54b80300728277529dbf11","998a3de5237518c0b3ac00a11b3b4417affb008aa20aedee52f3fdae3cb86151","ad41008ffe077206e1811fc873f4d9005b5fd7f6ab52bb6118fef600815a5cb4","d88ecca73348e7c337541c4b8b60a50aca5e87384f6b8a422fc6603c637e4c21","badae0df9a8016ac36994b0a0e7b82ba6aaa3528e175a8c3cb161e4683eec03e","c3db860bcaaaeb3bbc23f353bbda1f8ab82756c8d5e973bebb3953cb09ea68f2","235a53595bd20b0b0eeb1a29cb2887c67c48375e92f03749b2488fbd46d0b1a0","bc09393cd4cd13f69cf1366d4236fbae5359bb550f0de4e15767e9a91d63dfb1","9c266243b01545e11d2733a55ad02b4c00ecdbda99c561cd1674f96e89cdc958","c71155c05fc76ff948a4759abc1cb9feec036509f500174bc18dad4c7827a60c",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"1cdb8f094b969dcc183745dc88404e2d8fcf2a858c6e7cc2441011476573238e"],"options":{"allowSyntheticDefaultImports":true,"declaration":true,"esModuleInterop":false,"experimentalDecorators":true,"importHelpers":true,"inlineSources":true,"module":99,"noEmitOnError":true,"outDir":"./dist","rootDir":"./src","sourceMap":true,"strict":true,"target":5},"fileIdsList":[[53,101],[41,43,44,45,46,47,48,49,50,51,52,53,101],[41,42,44,45,46,47,48,49,50,51,52,53,101],[42,43,44,45,46,47,48,49,50,51,52,53,101],[41,42,43,45,46,47,48,49,50,51,52,53,101],[41,42,43,44,46,47,48,49,50,51,52,53,101],[41,42,43,44,45,47,48,49,50,51,52,53,101],[41,42,43,44,45,46,48,49,50,51,52,53,101],[41,42,43,44,45,46,47,49,50,51,52,53,101],[41,42,43,44,45,46,47,48,50,51,52,53,101],[41,42,43,44,45,46,47,48,49,51,52,53,101],[41,42,43,44,45,46,47,48,49,50,52,53,101],[41,42,43,44,45,46,47,48,49,50,51,53,101],[41,42,43,44,45,46,47,48,49,50,51,52,101],[58,101],[61,101],[62,67,101],[63,73,74,81,90,100,101],[63,64,73,81,101],[65,101],[66,67,74,82,101],[67,90,97,101],[68,70,73,81,101],[69,101],[70,71,101],[72,73,101],[73,101],[73,74,75,90,100,101],[73,74,75,90,101],[101],[76,81,90,100,101],[73,74,76,77,81,90,97,100,101],[76,78,90,97,100,101],[58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107],[73,79,101],[80,100,101],[70,73,81,90,101],[82,101],[83,101],[61,84,101],[85,99,101,105],[86,101],[87,101],[73,88,101],[88,89,101,103],[73,90,91,92,101],[90,92,101],[90,91,101],[93,101],[94,101],[73,95,96,101],[95,96,101],[67,81,97,101],[98,101],[81,99,101],[62,76,87,100,101],[67,101],[90,101,102],[101,103],[101,104],[62,67,73,75,84,90,100,101,103,105],[90,101,106],[40,56,101],[40,54,101],[40,54,55,101]],"referencedMap":[[54,1],[42,2],[43,3],[41,4],[44,5],[45,6],[46,7],[47,8],[48,9],[49,10],[50,11],[51,12],[52,13],[53,14],[58,15],[59,15],[61,16],[62,17],[63,18],[64,19],[65,20],[66,21],[67,22],[68,23],[69,24],[70,25],[71,25],[72,26],[73,27],[74,28],[75,29],[60,30],[107,30],[76,31],[77,32],[78,33],[108,34],[79,35],[80,36],[81,37],[82,38],[83,39],[84,40],[85,41],[86,42],[87,43],[88,44],[89,45],[90,46],[92,47],[91,48],[93,49],[94,50],[95,51],[96,52],[97,53],[98,54],[99,55],[100,56],[101,57],[102,58],[103,59],[104,60],[105,61],[106,62],[40,30],[8,30],[10,30],[9,30],[2,30],[11,30],[12,30],[13,30],[14,30],[15,30],[16,30],[17,30],[18,30],[3,30],[4,30],[22,30],[19,30],[20,30],[21,30],[23,30],[24,30],[25,30],[5,30],[26,30],[27,30],[28,30],[29,30],[6,30],[30,30],[31,30],[32,30],[33,30],[7,30],[38,30],[34,30],[35,30],[36,30],[37,30],[1,30],[39,30],[57,63],[55,64],[56,65]],"exportedModulesMap":[[54,1],[42,2],[43,3],[41,4],[44,5],[45,6],[46,7],[47,8],[48,9],[49,10],[50,11],[51,12],[52,13],[53,14],[58,15],[59,15],[61,16],[62,17],[63,18],[64,19],[65,20],[66,21],[67,22],[68,23],[69,24],[70,25],[71,25],[72,26],[73,27],[74,28],[75,29],[60,30],[107,30],[76,31],[77,32],[78,33],[108,34],[79,35],[80,36],[81,37],[82,38],[83,39],[84,40],[85,41],[86,42],[87,43],[88,44],[89,45],[90,46],[92,47],[91,48],[93,49],[94,50],[95,51],[96,52],[97,53],[98,54],[99,55],[100,56],[101,57],[102,58],[103,59],[104,60],[105,61],[106,62],[40,30],[8,30],[10,30],[9,30],[2,30],[11,30],[12,30],[13,30],[14,30],[15,30],[16,30],[17,30],[18,30],[3,30],[4,30],[22,30],[19,30],[20,30],[21,30],[23,30],[24,30],[25,30],[5,30],[26,30],[27,30],[28,30],[29,30],[6,30],[30,30],[31,30],[32,30],[33,30],[7,30],[38,30],[34,30],[35,30],[36,30],[37,30],[1,30],[39,30],[57,63],[55,64],[56,65]],"semanticDiagnosticsPerFile":[54,42,43,41,44,45,46,47,48,49,50,51,52,53,58,59,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,60,107,76,77,78,108,79,80,81,82,83,84,85,86,87,88,89,90,92,91,93,94,95,96,97,98,99,100,101,102,103,104,105,106,40,8,10,9,2,11,12,13,14,15,16,17,18,3,4,22,19,20,21,23,24,25,5,26,27,28,29,6,30,31,32,33,7,38,34,35,36,37,1,39,57,55,56]},"version":"4.5.2"}
|