@operato/scene-clock 0.0.10

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.
Files changed (41) hide show
  1. package/@types/global/index.d.ts +1 -0
  2. package/CHANGELOG.md +12 -0
  3. package/LICENSE +21 -0
  4. package/README.md +11 -0
  5. package/assets/clock-analog.png +0 -0
  6. package/assets/clock-digital.png +0 -0
  7. package/demo/index.html +163 -0
  8. package/demo/things-scene-clock.html +6 -0
  9. package/dist/clock-analog.d.ts +17 -0
  10. package/dist/clock-analog.js +144 -0
  11. package/dist/clock-analog.js.map +1 -0
  12. package/dist/clock-text.d.ts +34 -0
  13. package/dist/clock-text.js +98 -0
  14. package/dist/clock-text.js.map +1 -0
  15. package/dist/index.d.ts +2 -0
  16. package/dist/index.js +6 -0
  17. package/dist/index.js.map +1 -0
  18. package/helps/scene/component/analog-clock.ko.md +6 -0
  19. package/helps/scene/component/analog-clock.md +8 -0
  20. package/helps/scene/component/analog-clock.zh.md +6 -0
  21. package/helps/scene/component/text-clock.ko.md +25 -0
  22. package/helps/scene/component/text-clock.md +22 -0
  23. package/helps/scene/component/text-clock.zh.md +22 -0
  24. package/helps/scene/images/clock-analog-01.png +0 -0
  25. package/helps/scene/images/clock-text-01.png +0 -0
  26. package/helps/scene/images/clock-text-02.png +0 -0
  27. package/helps/scene/images/clock-text-03.png +0 -0
  28. package/helps/scene/images/clock-text-04.png +0 -0
  29. package/logs/.08636eb59927f12972f6774f5947c8507b3564c2-audit.json +14 -0
  30. package/logs/.5e5d741d8b7784a2fbad65eedc0fd46946aaf6f2-audit.json +14 -0
  31. package/logs/application-2021-12-06-16.log +61 -0
  32. package/logs/connections-2021-12-06-16.log +480 -0
  33. package/package.json +63 -0
  34. package/src/clock-analog.ts +187 -0
  35. package/src/clock-text.ts +112 -0
  36. package/src/index.ts +5 -0
  37. package/test/basic-test.html +67 -0
  38. package/test/index.html +22 -0
  39. package/things-scene.config.js +48 -0
  40. package/tsconfig.json +23 -0
  41. package/tsconfig.tsbuildinfo +1 -0
package/package.json ADDED
@@ -0,0 +1,63 @@
1
+ {
2
+ "name": "@operato/scene-clock",
3
+ "description": "Clock component for things-scene",
4
+ "license": "MIT",
5
+ "author": "heartyoh",
6
+ "version": "0.0.10",
7
+ "main": "dist/index.js",
8
+ "module": "dist/index.js",
9
+ "things-scene": true,
10
+ "publishConfig": {
11
+ "access": "public",
12
+ "@oprato:registry": "https://registry.npmjs.org"
13
+ },
14
+ "repository": {
15
+ "type": "git",
16
+ "url": "git+https://github.com/things-scene/operato-scene.git",
17
+ "directory": "packages/clock"
18
+ },
19
+ "scripts": {
20
+ "serve": "tsc && things-factory-dev",
21
+ "start": "tsc && concurrently -k -r \"tsc --watch --preserveWatchOutput\" \"wds\"",
22
+ "build": "tsc",
23
+ "prepublish": "tsc",
24
+ "lint": "eslint --ext .ts,.html . --ignore-path .gitignore && prettier \"**/*.ts\" --check --ignore-path .gitignore",
25
+ "format": "eslint --ext .ts,.html . --fix --ignore-path .gitignore && prettier \"**/*.ts\" --write --ignore-path .gitignore",
26
+ "migration": "things-factory-migration"
27
+ },
28
+ "dependencies": {
29
+ "@hatiolab/things-scene": "^2.7.21",
30
+ "dayjs": "^1.10.7"
31
+ },
32
+ "devDependencies": {
33
+ "@hatiolab/prettier-config": "^1.0.0",
34
+ "@hatiolab/things-scene": "^2.7.21",
35
+ "@operato/board": "^0.2.35",
36
+ "@things-factory/builder": "^4.0.10",
37
+ "@things-factory/operato-board": "^4.0.10",
38
+ "@typescript-eslint/eslint-plugin": "^4.33.0",
39
+ "@typescript-eslint/parser": "^4.33.0",
40
+ "@web/dev-server": "^0.1.28",
41
+ "concurrently": "^5.3.0",
42
+ "eslint": "^7.32.0",
43
+ "eslint-config-prettier": "^8.3.0",
44
+ "husky": "^4.3.8",
45
+ "lint-staged": "^10.5.4",
46
+ "prettier": "^2.4.1",
47
+ "tslib": "^2.3.1",
48
+ "typescript": "^4.5.2"
49
+ },
50
+ "prettier": "@hatiolab/prettier-config",
51
+ "husky": {
52
+ "hooks": {
53
+ "pre-commit": "lint-staged"
54
+ }
55
+ },
56
+ "lint-staged": {
57
+ "*.ts": [
58
+ "eslint --fix",
59
+ "prettier --write"
60
+ ]
61
+ },
62
+ "gitHead": "b6c35750202fe0a8ee9fc40667bbc98fb8c11955"
63
+ }
@@ -0,0 +1,187 @@
1
+ /*
2
+ * Copyright © HatioLab Inc. All rights reserved.
3
+ */
4
+
5
+ import { Component, Ellipse } from '@hatiolab/things-scene'
6
+
7
+ const NATURE = {
8
+ mutable: false,
9
+ resizable: true,
10
+ rotatable: true,
11
+ properties: [
12
+ {
13
+ type: 'number',
14
+ label: 'hour-width',
15
+ name: 'hourWidth',
16
+ property: 'hourWidth'
17
+ },
18
+ {
19
+ type: 'number',
20
+ label: 'minute-width',
21
+ name: 'minuteWidth',
22
+ property: 'minuteWidth'
23
+ },
24
+ {
25
+ type: 'number',
26
+ label: 'second-width',
27
+ name: 'secondWidth',
28
+ property: 'secondWidth'
29
+ },
30
+ {
31
+ type: 'checkbox',
32
+ label: 'needle-round',
33
+ name: 'needleRound',
34
+ property: 'needleRound'
35
+ },
36
+ {
37
+ type: 'checkbox',
38
+ label: 'show-second',
39
+ name: 'showSecond',
40
+ property: 'showSecond'
41
+ },
42
+ {
43
+ type: 'checkbox',
44
+ label: 'show-number',
45
+ name: 'showNumber',
46
+ property: 'showNumber'
47
+ },
48
+ {
49
+ type: 'number',
50
+ label: 'inner-circle-size',
51
+ name: 'innerCircleSize',
52
+ property: 'innerCircleSize'
53
+ },
54
+ {
55
+ type: 'color',
56
+ label: 'inner-circle-color',
57
+ name: 'innerCircleColor',
58
+ property: 'innerCircleColor'
59
+ }
60
+ ],
61
+ help: 'scene/component/analog-clock'
62
+ }
63
+
64
+ function drawHand(ctx: CanvasRenderingContext2D, pos: number, length: number, rx: number, needleRound: boolean) {
65
+ ctx.beginPath()
66
+ ctx.lineWidth = rx
67
+ ctx.lineCap = needleRound ? 'round' : 'square'
68
+ ctx.moveTo(0, 0)
69
+ ctx.rotate(pos)
70
+ ctx.lineTo(0, -length)
71
+ ctx.stroke()
72
+ ctx.rotate(-pos)
73
+ }
74
+
75
+ export default class ClockAnalog extends Ellipse {
76
+ is3dish() {
77
+ return false
78
+ }
79
+
80
+ _draw(ctx: CanvasRenderingContext2D) {
81
+ var {
82
+ cx,
83
+ cy,
84
+ rx,
85
+ ry,
86
+ fillStyle,
87
+ strokeStyle,
88
+ fontColor = '#000',
89
+ lineWidth,
90
+ hourWidth,
91
+ minuteWidth,
92
+ secondWidth,
93
+ needleRound = false,
94
+ showSecond = true,
95
+ showNumber = true,
96
+ innerCircleSize = 5,
97
+ innerCircleColor = '#000'
98
+ } = this.model
99
+
100
+ // 시계 원 그리기.
101
+ ctx.beginPath()
102
+ ctx.ellipse(cx, cy, Math.abs(rx), Math.abs(ry), 0, 0, 2 * Math.PI)
103
+
104
+ ctx.fillStyle = fillStyle
105
+
106
+ ctx.strokeStyle = strokeStyle
107
+ ctx.lineWidth = lineWidth || rx * 0.1
108
+ this.drawFill(ctx)
109
+ this.drawStroke(ctx)
110
+
111
+ ctx.beginPath()
112
+ ctx.translate(cx, cy)
113
+ ctx.scale(1, ry / rx)
114
+
115
+ // 시계 숫자 그리기
116
+ if (showNumber) {
117
+ var ang
118
+ var num
119
+ ctx.font = rx * 0.15 + 'px arial'
120
+ ctx.textBaseline = 'middle'
121
+ ctx.textAlign = 'center'
122
+ ctx.fillStyle = fontColor
123
+
124
+ for (num = 1; num < 13; num++) {
125
+ ang = (num * Math.PI) / 6
126
+ ctx.rotate(ang)
127
+ ctx.translate(0, -rx * 0.85)
128
+ ctx.rotate(-ang)
129
+ ctx.fillText(num.toString(), 0, 0)
130
+ ctx.rotate(ang)
131
+ ctx.translate(0, rx * 0.85)
132
+ ctx.rotate(-ang)
133
+ }
134
+ }
135
+
136
+ // 시계 침 그리기
137
+ var now = new Date()
138
+ var hour = now.getHours()
139
+ var minute = now.getMinutes()
140
+ var second = now.getSeconds()
141
+
142
+ // hour needle
143
+ hour = hour % 12
144
+ hour = (hour * Math.PI) / 6 + (minute * Math.PI) / (6 * 60) + (second * Math.PI) / (360 * 60)
145
+
146
+ drawHand(ctx, hour, rx * 0.55, hourWidth || rx * 0.07, needleRound)
147
+
148
+ // minute needle
149
+ minute = (minute * Math.PI) / 30 + (second * Math.PI) / (30 * 60)
150
+ drawHand(ctx, minute, rx * 0.8, minuteWidth || rx * 0.07, needleRound)
151
+
152
+ // second needle
153
+ if (showSecond) {
154
+ second = (second * Math.PI) / 30
155
+ drawHand(ctx, second, rx * 0.9, secondWidth || rx * 0.02, needleRound)
156
+ }
157
+
158
+ ctx.beginPath()
159
+
160
+ // Inner Circle
161
+ if (innerCircleSize) {
162
+ ctx.ellipse(0, 0, innerCircleSize, innerCircleSize, 0, 0, 2 * Math.PI)
163
+ ctx.fillStyle = innerCircleColor
164
+ ctx.fill()
165
+ }
166
+
167
+ ctx.beginPath()
168
+
169
+ ctx.scale(1, rx / ry)
170
+ ctx.translate(-cx, -cy)
171
+
172
+ var timeOut: NodeJS.Timeout = setTimeout(
173
+ function (self) {
174
+ self.invalidate()
175
+ clearTimeout(timeOut)
176
+ },
177
+ 1000,
178
+ this
179
+ )
180
+ }
181
+
182
+ get nature() {
183
+ return NATURE
184
+ }
185
+ }
186
+
187
+ Component.register('clock-analog', ClockAnalog)
@@ -0,0 +1,112 @@
1
+ /*
2
+ * Copyright © HatioLab Inc. All rights reserved.
3
+ */
4
+
5
+ import 'dayjs/esm/locale/ko'
6
+ import 'dayjs/esm/locale/zh-cn'
7
+ import 'dayjs/esm/locale/ja'
8
+
9
+ import dayjs from 'dayjs/esm/index'
10
+ import utc from 'dayjs/esm/plugin/utc'
11
+
12
+ import { Component, Text } from '@hatiolab/things-scene'
13
+
14
+ dayjs.extend(utc)
15
+
16
+ const NATURE = {
17
+ mutable: false,
18
+ resizable: true,
19
+ rotatable: true,
20
+ properties: [
21
+ {
22
+ type: 'string',
23
+ label: 'time-format',
24
+ name: 'timeFormat'
25
+ },
26
+ {
27
+ type: 'checkbox',
28
+ label: 'is-local-time',
29
+ name: 'localTime'
30
+ },
31
+ {
32
+ type: 'number',
33
+ label: 'utc',
34
+ name: 'utc'
35
+ },
36
+ {
37
+ type: 'select',
38
+ label: 'week-language',
39
+ name: 'weekLanguage',
40
+ property: {
41
+ options: [
42
+ {
43
+ display: 'English',
44
+ value: 'en'
45
+ },
46
+ {
47
+ display: 'Korean',
48
+ value: 'ko'
49
+ },
50
+ {
51
+ display: 'Chinese',
52
+ value: 'zh-cn'
53
+ },
54
+ {
55
+ display: 'Japanese',
56
+ value: 'ja'
57
+ }
58
+ ]
59
+ }
60
+ }
61
+ ],
62
+ help: 'scene/component/clock-text'
63
+ }
64
+
65
+ export default class ClockText extends Text {
66
+ private _raf?: number
67
+
68
+ is3dish() {
69
+ return false
70
+ }
71
+
72
+ get nature() {
73
+ return NATURE
74
+ }
75
+
76
+ render(ctx: CanvasRenderingContext2D) {
77
+ super.render(ctx)
78
+
79
+ this._raf = requestAnimationFrame(() => {
80
+ setTimeout(() => {
81
+ this._timer()
82
+ }, 1000)
83
+ })
84
+ }
85
+
86
+ _timer() {
87
+ this.set('data', this._getTimeStamp())
88
+ }
89
+
90
+ _getTimeStamp() {
91
+ var d = dayjs()
92
+
93
+ var utc = this.get('utc')
94
+ var formatStr = this.get('timeFormat') || 'YYYY-MM-DD HH:mm:ss'
95
+ var week_lang = this.get('weekLanguage')
96
+ if (!this.get('weekLanguage')) {
97
+ week_lang = 'en'
98
+ }
99
+ if (this.get('localTime')) {
100
+ return d.local().locale(week_lang).format(formatStr)
101
+ } else {
102
+ return d.utc().utcOffset(Number(utc)).locale(week_lang).format(formatStr)
103
+ }
104
+ }
105
+
106
+ dispose() {
107
+ super.dispose()
108
+ this._raf !== undefined && cancelAnimationFrame(this._raf)
109
+ }
110
+ }
111
+
112
+ Component.register('clock-text', ClockText)
package/src/index.ts ADDED
@@ -0,0 +1,5 @@
1
+ /*
2
+ * Copyright © HatioLab Inc. All rights reserved.
3
+ */
4
+ export { default as ClockAnalog } from './clock-analog'
5
+ export { default as ClockText } from './clock-text'
@@ -0,0 +1,67 @@
1
+ <!doctype html>
2
+ <!--
3
+ @license
4
+ Copyright © HatioLab Inc. All rights reserved.
5
+ -->
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-clock.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-clock-fixture">
21
+ <template>
22
+ <things-scene-clock>
23
+ <h2>things-scene-clock</h2>
24
+ </things-scene-clock>
25
+ </template>
26
+ </test-fixture>
27
+
28
+ <script>
29
+ suite('<things-scene-clock>', function() {
30
+
31
+ var myEl;
32
+
33
+ setup(function() {
34
+ myEl = fixture('things-scene-clock-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-clock says, Hello World!');
44
+
45
+ var greetings = myEl.sayHello('greetings Earthlings');
46
+ assert.equal(greetings, 'things-scene-clock says, greetings Earthlings');
47
+ });
48
+
49
+ test('fires lasers', function(done) {
50
+ myEl.addEventListener('things-scene-clock-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>
@@ -0,0 +1,22 @@
1
+ <!doctype html>
2
+ <!--
3
+ @license
4
+ Copyright © HatioLab Inc. All rights reserved.
5
+ -->
6
+ <html><head>
7
+ <meta charset="utf-8">
8
+ <meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1.0, user-scalable=yes">
9
+
10
+ <script src="../../webcomponentsjs/webcomponents-lite.js"></script>
11
+ <script src="../../web-component-tester/browser.js"></script>
12
+ </head>
13
+ <body>
14
+ <script>
15
+ // Load and run all tests (.html, .js):
16
+ WCT.loadSuites([
17
+ 'basic-test.html',
18
+ 'basic-test.html?dom=shadow'
19
+ ]);
20
+ </script>
21
+
22
+ </body></html>
@@ -0,0 +1,48 @@
1
+ import analog from './assets/clock-analog.png'
2
+ import digital from './assets/clock-digital.png'
3
+
4
+ var templates = [
5
+ {
6
+ type: 'clock analog',
7
+ description: 'analog style clock',
8
+ group: 'etc' /* line|shape|textAndMedia|chartAndGauge|table|container|dataSource|IoT|3D|warehouse|form|etc */,
9
+ icon: analog,
10
+ model: {
11
+ type: 'clock-analog',
12
+ cx: 150,
13
+ cy: 150,
14
+ rx: 50,
15
+ ry: 50,
16
+ fillStyle: '#ffffff',
17
+ strokeStyle: '#000000',
18
+ lineWidth: 5,
19
+ alpha: 1,
20
+ innerCircleSize: 5,
21
+ innerCircleColor: '#000000'
22
+ }
23
+ },
24
+ {
25
+ type: 'clock text',
26
+ description: 'digital style clock',
27
+ group: 'etc' /* line|shape|textAndMedia|chartAndGauge|table|container|dataSource|IoT|3D|warehouse|form|etc */,
28
+ icon: digital,
29
+ model: {
30
+ type: 'clock-text',
31
+ text: '#{data}',
32
+ top: 100,
33
+ left: 100,
34
+ width: 100,
35
+ height: 50,
36
+ fontColor: '#000000',
37
+ fontSize: 20,
38
+ alpha: 1,
39
+ localTime: true,
40
+ utc: 0,
41
+ timeFormat: 'YYYY-MM-DD HH:mm:ss'
42
+ }
43
+ }
44
+ ]
45
+
46
+ export default {
47
+ templates
48
+ }
package/tsconfig.json ADDED
@@ -0,0 +1,23 @@
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
+ "typeRoots": ["./node_modules", "@types"],
20
+ "types": ["node"]
21
+ },
22
+ "include": ["**/*.ts", "*.d.ts"]
23
+ }
@@ -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","./@types/global/index.d.ts","../../node_modules/tslib/tslib.d.ts","../../node_modules/@hatiolab/things-scene/things-scene.d.ts","./src/clock-analog.ts","../../node_modules/dayjs/esm/locale/types.d.ts","../../node_modules/dayjs/esm/locale/index.d.ts","../../node_modules/dayjs/esm/index.d.ts","../../node_modules/dayjs/esm/plugin/utc/index.d.ts","./src/clock-text.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},"c4f5f288a2b8dcfb6183e29612ec26b7a049314a6a10b7e6e700a8307077455a","12f4cfe2fe60b810c3174537bc2ddb20c1067b7768643d12cb1266fd183afb75","53f2c3243bab4c4ac0aa31430b8bb3b9e294c52095399430e3d13d36e9aabfc6","13dfc4b478b7a33bf90b9b3a6d0cbff01cad83ce1e518cd855816ea944b58ca1",{"version":"73a0ee6395819b063df4b148211985f2e1442945c1a057204cf4cf6281760dc3","affectsGlobalScope":true},"7f0717e1c516c7b6b6acbc2177d1bd910a5d1abb757c85182ca8d089c9b6e398","3fbd18a93e08b35fc9083d4a3c121c51433dda45312b2f27940f07f2bf35a99c","6003f9a303f96bd4a2cd982c29430db84325c390a926c3d2c3ed5845c42f9e42","5460a690d63bd750e5fc6adb4262c7645607dfad5a8affb80029972210dab313","b5f3990e4772b6dec5d08b892adc6858148dc5f47b6c8a539748860585f116a1","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},"a7971f9fb2a32ec7788ec6cda9d7a33c02023dfe9a62db2030ad1359649d8050","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":[[93],[50,93],[53,93],[54,59,93],[55,65,66,73,82,92,93],[55,56,65,73,93],[57,93],[58,59,66,74,93],[59,82,89,93],[60,62,65,73,93],[61,93],[62,63,93],[64,65,93],[65,93],[65,66,67,82,92,93],[65,66,67,82,93],[68,73,82,92,93],[65,66,68,69,73,82,89,92,93],[68,70,82,89,92,93],[50,51,52,53,54,55,56,57,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],[65,71,93],[72,92,93],[62,65,73,82,93],[74,93],[75,93],[53,76,93],[77,91,93,97],[78,93],[79,93],[65,80,93],[80,81,93,95],[65,82,83,84,93],[82,84,93],[82,83,93],[85,93],[86,93],[65,87,88,93],[87,88,93],[59,73,89,93],[90,93],[73,91,93],[54,68,79,92,93],[59,93],[82,93,94],[93,95],[93,96],[54,59,65,67,76,82,92,93,95,97],[82,93,98],[45,93],[44,93],[46,93],[41,42,93],[41,42,45,46,47,93],[41,43,48,93]],"referencedMap":[[42,1],[50,2],[51,2],[53,3],[54,4],[55,5],[56,6],[57,7],[58,8],[59,9],[60,10],[61,11],[62,12],[63,12],[64,13],[65,14],[66,15],[67,16],[52,1],[99,1],[68,17],[69,18],[70,19],[100,20],[71,21],[72,22],[73,23],[74,24],[75,25],[76,26],[77,27],[78,28],[79,29],[80,30],[81,31],[82,32],[84,33],[83,34],[85,35],[86,36],[87,37],[88,38],[89,39],[90,40],[91,41],[92,42],[93,43],[94,44],[95,45],[96,46],[97,47],[98,48],[46,49],[45,50],[44,1],[47,51],[41,1],[8,1],[10,1],[9,1],[2,1],[11,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[18,1],[3,1],[4,1],[22,1],[19,1],[20,1],[21,1],[23,1],[24,1],[25,1],[5,1],[26,1],[27,1],[28,1],[29,1],[6,1],[30,1],[31,1],[32,1],[33,1],[7,1],[38,1],[34,1],[35,1],[36,1],[37,1],[1,1],[39,1],[40,1],[43,52],[48,53],[49,54]],"exportedModulesMap":[[42,1],[50,2],[51,2],[53,3],[54,4],[55,5],[56,6],[57,7],[58,8],[59,9],[60,10],[61,11],[62,12],[63,12],[64,13],[65,14],[66,15],[67,16],[52,1],[99,1],[68,17],[69,18],[70,19],[100,20],[71,21],[72,22],[73,23],[74,24],[75,25],[76,26],[77,27],[78,28],[79,29],[80,30],[81,31],[82,32],[84,33],[83,34],[85,35],[86,36],[87,37],[88,38],[89,39],[90,40],[91,41],[92,42],[93,43],[94,44],[95,45],[96,46],[97,47],[98,48],[46,49],[45,50],[44,1],[47,51],[41,1],[8,1],[10,1],[9,1],[2,1],[11,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[18,1],[3,1],[4,1],[22,1],[19,1],[20,1],[21,1],[23,1],[24,1],[25,1],[5,1],[26,1],[27,1],[28,1],[29,1],[6,1],[30,1],[31,1],[32,1],[33,1],[7,1],[38,1],[34,1],[35,1],[36,1],[37,1],[1,1],[39,1],[40,1],[43,52],[48,53],[49,54]],"semanticDiagnosticsPerFile":[42,50,51,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,52,99,68,69,70,100,71,72,73,74,75,76,77,78,79,80,81,82,84,83,85,86,87,88,89,90,91,92,93,94,95,96,97,98,46,45,44,47,41,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,40,43,48,49]},"version":"4.5.2"}