@stemy/ngx-utils 13.6.16 → 17.0.0
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/esm2022/ngx-utils/common-types.mjs +123 -0
- package/esm2022/ngx-utils/components/dynamic-table/dynamic-table.component.mjs +210 -0
- package/esm2022/ngx-utils/components/pagination-menu/pagination-menu.component.mjs +101 -0
- package/esm2022/ngx-utils/components/unordered-list/unordered-list.component.mjs +65 -0
- package/esm2022/ngx-utils/directives/async-method.base.mjs +82 -0
- package/{esm2020 → esm2022}/ngx-utils/directives/async-method.directive.mjs +21 -21
- package/esm2022/ngx-utils/directives/background.directive.mjs +51 -0
- package/{esm2020 → esm2022}/ngx-utils/directives/dynamic-table-template.directive.mjs +20 -20
- package/{esm2020 → esm2022}/ngx-utils/directives/global-template.directive.mjs +30 -30
- package/esm2022/ngx-utils/directives/icon.directive.mjs +67 -0
- package/esm2022/ngx-utils/directives/ngx-template-outlet.directive.mjs +90 -0
- package/{esm2020 → esm2022}/ngx-utils/directives/pagination-item.directive.mjs +34 -34
- package/esm2022/ngx-utils/directives/pagination.directive.mjs +84 -0
- package/esm2022/ngx-utils/directives/resource-if.directive.mjs +50 -0
- package/esm2022/ngx-utils/directives/sticky-class.directive.mjs +34 -0
- package/{esm2020 → esm2022}/ngx-utils/directives/sticky.directive.mjs +55 -55
- package/{esm2020 → esm2022}/ngx-utils/directives/unordered-list-item.directive.mjs +79 -79
- package/{esm2020 → esm2022}/ngx-utils/directives/unordered-list-template.directive.mjs +20 -20
- package/{esm2020 → esm2022}/ngx-utils/ngx-utils.imports.mjs +174 -174
- package/esm2022/ngx-utils/ngx-utils.module.mjs +202 -0
- package/esm2022/ngx-utils/pipes/chunk.pipe.mjs +25 -0
- package/{esm2020 → esm2022}/ngx-utils/pipes/entries.pipe.mjs +28 -28
- package/{esm2020 → esm2022}/ngx-utils/pipes/extra-item-properties.pipe.mjs +31 -31
- package/esm2022/ngx-utils/pipes/filter.pipe.mjs +37 -0
- package/esm2022/ngx-utils/pipes/find.pipe.mjs +29 -0
- package/{esm2020 → esm2022}/ngx-utils/pipes/format-number.pipe.mjs +21 -21
- package/{esm2020 → esm2022}/ngx-utils/pipes/get-offset.pipe.mjs +17 -17
- package/{esm2020 → esm2022}/ngx-utils/pipes/get-type.pipe.mjs +16 -16
- package/esm2022/ngx-utils/pipes/global-template.pipe.mjs +41 -0
- package/{esm2020 → esm2022}/ngx-utils/pipes/group-by.pipe.mjs +27 -27
- package/{esm2020 → esm2022}/ngx-utils/pipes/is-type.pipe.mjs +16 -16
- package/{esm2020 → esm2022}/ngx-utils/pipes/join.pipe.mjs +19 -19
- package/{esm2020 → esm2022}/ngx-utils/pipes/keys.pipe.mjs +22 -22
- package/{esm2020 → esm2022}/ngx-utils/pipes/map.pipe.mjs +29 -29
- package/{esm2020 → esm2022}/ngx-utils/pipes/max.pipe.mjs +26 -26
- package/{esm2020 → esm2022}/ngx-utils/pipes/min.pipe.mjs +26 -26
- package/{esm2020 → esm2022}/ngx-utils/pipes/pop.pipe.mjs +16 -16
- package/{esm2020 → esm2022}/ngx-utils/pipes/reduce.pipe.mjs +30 -30
- package/esm2022/ngx-utils/pipes/remap.pipe.mjs +32 -0
- package/{esm2020 → esm2022}/ngx-utils/pipes/replace.pipe.mjs +17 -17
- package/esm2022/ngx-utils/pipes/reverse.pipe.mjs +24 -0
- package/{esm2020 → esm2022}/ngx-utils/pipes/round.pipe.mjs +21 -21
- package/esm2022/ngx-utils/pipes/safe-html.pipe.mjs +34 -0
- package/{esm2020 → esm2022}/ngx-utils/pipes/shift.pipe.mjs +16 -16
- package/{esm2020 → esm2022}/ngx-utils/pipes/split.pipe.mjs +16 -16
- package/esm2022/ngx-utils/pipes/translate.pipe.mjs +86 -0
- package/{esm2020 → esm2022}/ngx-utils/pipes/values.pipe.mjs +22 -22
- package/esm2022/ngx-utils/plugins/resize-event.plugin.mjs +78 -0
- package/esm2022/ngx-utils/plugins/scroll-event.plugin.mjs +39 -0
- package/{esm2020 → esm2022}/ngx-utils/services/acl.service.mjs +84 -83
- package/esm2022/ngx-utils/services/api.service.mjs +42 -0
- package/{esm2020 → esm2022}/ngx-utils/services/auth.service.mjs +13 -13
- package/esm2022/ngx-utils/services/base-http.client.mjs +47 -0
- package/esm2022/ngx-utils/services/base-http.service.mjs +305 -0
- package/esm2022/ngx-utils/services/config.service.mjs +130 -0
- package/esm2022/ngx-utils/services/error-handler.service.mjs +49 -0
- package/{esm2020 → esm2022}/ngx-utils/services/events.service.mjs +26 -26
- package/{esm2020 → esm2022}/ngx-utils/services/formatter.service.mjs +49 -49
- package/esm2022/ngx-utils/services/global-template.service.mjs +37 -0
- package/esm2022/ngx-utils/services/icon.service.mjs +26 -0
- package/esm2022/ngx-utils/services/language.service.mjs +124 -0
- package/{esm2020 → esm2022}/ngx-utils/services/local-http.service.mjs +47 -47
- package/{esm2020 → esm2022}/ngx-utils/services/open-api.service.mjs +40 -40
- package/{esm2020 → esm2022}/ngx-utils/services/promise.service.mjs +55 -55
- package/esm2022/ngx-utils/services/state.service.mjs +177 -0
- package/{esm2020 → esm2022}/ngx-utils/services/static-language.service.mjs +166 -166
- package/esm2022/ngx-utils/services/storage.service.mjs +49 -0
- package/{esm2020 → esm2022}/ngx-utils/services/toaster.service.mjs +32 -32
- package/esm2022/ngx-utils/services/translated-url.serializer.mjs +73 -0
- package/esm2022/ngx-utils/services/universal.service.mjs +81 -0
- package/{esm2020 → esm2022}/ngx-utils/services/wasm.service.mjs +46 -46
- package/esm2022/ngx-utils/utils/ajax-request-handler.mjs +40 -0
- package/esm2022/ngx-utils/utils/array.utils.mjs +107 -0
- package/esm2022/ngx-utils/utils/auth.guard.mjs +181 -0
- package/esm2022/ngx-utils/utils/cached-factory.mjs +30 -0
- package/esm2022/ngx-utils/utils/canvas.utils.mjs +388 -0
- package/esm2022/ngx-utils/utils/date.utils.mjs +29 -0
- package/{esm2020 → esm2022}/ngx-utils/utils/file-system.mjs +24 -24
- package/esm2022/ngx-utils/utils/file.utils.mjs +90 -0
- package/{esm2020 → esm2022}/ngx-utils/utils/generic-value.mjs +20 -20
- package/esm2022/ngx-utils/utils/geometry.mjs +132 -0
- package/{esm2020 → esm2022}/ngx-utils/utils/initializer.mjs +20 -20
- package/esm2022/ngx-utils/utils/jsonfn.mjs +45 -0
- package/esm2022/ngx-utils/utils/loader.utils.mjs +55 -0
- package/esm2022/ngx-utils/utils/math.utils.mjs +44 -0
- package/esm2022/ngx-utils/utils/object.utils.mjs +320 -0
- package/{esm2020 → esm2022}/ngx-utils/utils/observable.utils.mjs +63 -63
- package/esm2022/ngx-utils/utils/reflect.utils.mjs +33 -0
- package/esm2022/ngx-utils/utils/set.utils.mjs +20 -0
- package/esm2022/ngx-utils/utils/string.utils.mjs +41 -0
- package/{esm2020 → esm2022}/ngx-utils/utils/timer.utils.mjs +51 -51
- package/esm2022/ngx-utils/utils/unique.utils.mjs +24 -0
- package/esm2022/ngx-utils/utils/vector.mjs +77 -0
- package/esm2022/ngx-utils/utils/wasi.mjs +159 -0
- package/esm2022/ngx-utils/utils/wasm-worker-proxy.mjs +99 -0
- package/{esm2020 → esm2022}/ngx-utils/utils/with-options-provider.mjs +23 -23
- package/{esm2020 → esm2022}/public_api.mjs +94 -94
- package/{esm2020 → esm2022}/stemy-ngx-utils.mjs +4 -4
- package/esm2022/tools/config.mjs +71 -0
- package/{esm2020 → esm2022}/tools/public_api.mjs +1 -1
- package/{esm2020 → esm2022}/tools/stemy-ngx-utils-tools.mjs +4 -4
- package/{fesm2020 → fesm2022}/stemy-ngx-utils-tools.mjs +71 -71
- package/{fesm2015 → fesm2022}/stemy-ngx-utils-tools.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/stemy-ngx-utils.mjs +5639 -5633
- package/fesm2022/stemy-ngx-utils.mjs.map +1 -0
- package/{stemy-ngx-utils.d.ts → index.d.ts} +5 -5
- package/ng.mjs +5 -0
- package/ngx-utils/common-types.d.ts +378 -377
- package/ngx-utils/components/dynamic-table/dynamic-table.component.d.ts +56 -55
- package/ngx-utils/components/pagination-menu/pagination-menu.component.d.ts +31 -31
- package/ngx-utils/components/unordered-list/unordered-list.component.d.ts +25 -25
- package/ngx-utils/directives/async-method.base.d.ts +19 -19
- package/ngx-utils/directives/async-method.directive.d.ts +9 -9
- package/ngx-utils/directives/background.directive.d.ts +17 -17
- package/ngx-utils/directives/dynamic-table-template.directive.d.ts +11 -11
- package/ngx-utils/directives/global-template.directive.d.ts +13 -13
- package/ngx-utils/directives/icon.directive.d.ts +23 -23
- package/ngx-utils/directives/ngx-template-outlet.directive.d.ts +17 -17
- package/ngx-utils/directives/pagination-item.directive.d.ts +15 -15
- package/ngx-utils/directives/pagination.directive.d.ts +25 -25
- package/ngx-utils/directives/resource-if.directive.d.ts +19 -19
- package/ngx-utils/directives/sticky-class.directive.d.ts +15 -15
- package/ngx-utils/directives/sticky.directive.d.ts +19 -19
- package/ngx-utils/directives/unordered-list-item.directive.d.ts +28 -28
- package/ngx-utils/directives/unordered-list-template.directive.d.ts +11 -11
- package/ngx-utils/ngx-utils.imports.d.ts +74 -0
- package/ngx-utils/ngx-utils.module.d.ts +58 -58
- package/ngx-utils/pipes/chunk.pipe.d.ts +7 -7
- package/ngx-utils/pipes/entries.pipe.d.ts +12 -12
- package/ngx-utils/pipes/extra-item-properties.pipe.d.ts +8 -8
- package/ngx-utils/pipes/filter.pipe.d.ts +8 -8
- package/ngx-utils/pipes/find.pipe.d.ts +8 -8
- package/ngx-utils/pipes/format-number.pipe.d.ts +10 -10
- package/ngx-utils/pipes/get-offset.pipe.d.ts +7 -7
- package/ngx-utils/pipes/get-type.pipe.d.ts +7 -7
- package/ngx-utils/pipes/global-template.pipe.d.ts +16 -16
- package/ngx-utils/pipes/group-by.pipe.d.ts +8 -8
- package/ngx-utils/pipes/is-type.pipe.d.ts +7 -7
- package/ngx-utils/pipes/join.pipe.d.ts +7 -7
- package/ngx-utils/pipes/keys.pipe.d.ts +7 -7
- package/ngx-utils/pipes/map.pipe.d.ts +8 -8
- package/ngx-utils/pipes/max.pipe.d.ts +7 -7
- package/ngx-utils/pipes/min.pipe.d.ts +7 -7
- package/ngx-utils/pipes/pop.pipe.d.ts +7 -7
- package/ngx-utils/pipes/reduce.pipe.d.ts +8 -8
- package/ngx-utils/pipes/remap.pipe.d.ts +7 -7
- package/ngx-utils/pipes/replace.pipe.d.ts +7 -7
- package/ngx-utils/pipes/reverse.pipe.d.ts +7 -7
- package/ngx-utils/pipes/round.pipe.d.ts +10 -10
- package/ngx-utils/pipes/safe-html.pipe.d.ts +10 -10
- package/ngx-utils/pipes/shift.pipe.d.ts +7 -7
- package/ngx-utils/pipes/split.pipe.d.ts +7 -7
- package/ngx-utils/pipes/translate.pipe.d.ts +19 -19
- package/ngx-utils/pipes/values.pipe.d.ts +7 -7
- package/ngx-utils/plugins/resize-event.plugin.d.ts +17 -17
- package/ngx-utils/plugins/scroll-event.plugin.d.ts +13 -13
- package/ngx-utils/services/acl.service.d.ts +14 -14
- package/ngx-utils/services/api.service.d.ts +17 -17
- package/ngx-utils/services/auth.service.d.ts +8 -8
- package/ngx-utils/services/base-http.client.d.ts +15 -15
- package/ngx-utils/services/base-http.service.d.ts +53 -53
- package/ngx-utils/services/config.service.d.ts +30 -30
- package/ngx-utils/services/error-handler.service.d.ts +13 -13
- package/ngx-utils/services/events.service.d.ts +14 -14
- package/ngx-utils/services/formatter.service.d.ts +15 -15
- package/ngx-utils/services/global-template.service.d.ts +19 -19
- package/ngx-utils/services/icon.service.d.ts +13 -13
- package/ngx-utils/services/language.service.d.ts +21 -21
- package/ngx-utils/services/local-http.service.d.ts +14 -14
- package/ngx-utils/services/open-api.service.d.ts +11 -11
- package/ngx-utils/services/promise.service.d.ts +19 -19
- package/ngx-utils/services/state.service.d.ts +49 -49
- package/ngx-utils/services/static-language.service.d.ts +46 -46
- package/ngx-utils/services/storage.service.d.ts +15 -15
- package/ngx-utils/services/toaster.service.d.ts +13 -13
- package/ngx-utils/services/translated-url.serializer.d.ts +19 -19
- package/ngx-utils/services/universal.service.d.ts +28 -28
- package/ngx-utils/services/wasm.service.d.ts +25 -25
- package/ngx-utils/utils/ajax-request-handler.d.ts +11 -11
- package/ngx-utils/utils/array.utils.d.ts +11 -11
- package/ngx-utils/utils/auth.guard.d.ts +29 -29
- package/ngx-utils/utils/cached-factory.d.ts +2 -2
- package/ngx-utils/utils/canvas.utils.d.ts +13 -13
- package/ngx-utils/utils/date.utils.d.ts +8 -8
- package/ngx-utils/utils/file-system.d.ts +16 -16
- package/ngx-utils/utils/file.utils.d.ts +14 -14
- package/ngx-utils/utils/generic-value.d.ts +8 -8
- package/ngx-utils/utils/geometry.d.ts +50 -50
- package/ngx-utils/utils/initializer.d.ts +12 -12
- package/ngx-utils/utils/jsonfn.d.ts +6 -6
- package/ngx-utils/utils/loader.utils.d.ts +7 -7
- package/ngx-utils/utils/math.utils.d.ts +8 -8
- package/ngx-utils/utils/object.utils.d.ts +35 -35
- package/ngx-utils/utils/observable.utils.d.ts +13 -13
- package/ngx-utils/utils/reflect.utils.d.ts +9 -9
- package/ngx-utils/utils/set.utils.d.ts +4 -4
- package/ngx-utils/utils/string.utils.d.ts +9 -9
- package/ngx-utils/utils/timer.utils.d.ts +6 -6
- package/ngx-utils/utils/unique.utils.d.ts +5 -5
- package/ngx-utils/utils/vector.d.ts +23 -23
- package/ngx-utils/utils/wasi.d.ts +26 -26
- package/ngx-utils/utils/wasm-worker-proxy.d.ts +17 -17
- package/ngx-utils/utils/with-options-provider.d.ts +3 -3
- package/package.json +21 -29
- package/public_api.d.ts +93 -93
- package/tools/config.d.ts +7 -7
- package/tools/{stemy-ngx-utils-tools.d.ts → index.d.ts} +5 -5
- package/tools/public_api.d.ts +1 -1
- package/esm2020/ngx-utils/common-types.mjs +0 -123
- package/esm2020/ngx-utils/components/dynamic-table/dynamic-table.component.mjs +0 -207
- package/esm2020/ngx-utils/components/pagination-menu/pagination-menu.component.mjs +0 -101
- package/esm2020/ngx-utils/components/unordered-list/unordered-list.component.mjs +0 -65
- package/esm2020/ngx-utils/directives/async-method.base.mjs +0 -82
- package/esm2020/ngx-utils/directives/background.directive.mjs +0 -51
- package/esm2020/ngx-utils/directives/icon.directive.mjs +0 -67
- package/esm2020/ngx-utils/directives/ngx-template-outlet.directive.mjs +0 -90
- package/esm2020/ngx-utils/directives/pagination.directive.mjs +0 -84
- package/esm2020/ngx-utils/directives/resource-if.directive.mjs +0 -50
- package/esm2020/ngx-utils/directives/sticky-class.directive.mjs +0 -34
- package/esm2020/ngx-utils/ngx-utils.module.mjs +0 -204
- package/esm2020/ngx-utils/pipes/chunk.pipe.mjs +0 -25
- package/esm2020/ngx-utils/pipes/filter.pipe.mjs +0 -37
- package/esm2020/ngx-utils/pipes/find.pipe.mjs +0 -29
- package/esm2020/ngx-utils/pipes/global-template.pipe.mjs +0 -41
- package/esm2020/ngx-utils/pipes/remap.pipe.mjs +0 -32
- package/esm2020/ngx-utils/pipes/reverse.pipe.mjs +0 -24
- package/esm2020/ngx-utils/pipes/safe-html.pipe.mjs +0 -34
- package/esm2020/ngx-utils/pipes/translate.pipe.mjs +0 -86
- package/esm2020/ngx-utils/plugins/resize-event.plugin.mjs +0 -78
- package/esm2020/ngx-utils/plugins/scroll-event.plugin.mjs +0 -39
- package/esm2020/ngx-utils/services/api.service.mjs +0 -42
- package/esm2020/ngx-utils/services/base-http.client.mjs +0 -47
- package/esm2020/ngx-utils/services/base-http.service.mjs +0 -305
- package/esm2020/ngx-utils/services/config.service.mjs +0 -130
- package/esm2020/ngx-utils/services/error-handler.service.mjs +0 -49
- package/esm2020/ngx-utils/services/global-template.service.mjs +0 -37
- package/esm2020/ngx-utils/services/icon.service.mjs +0 -26
- package/esm2020/ngx-utils/services/language.service.mjs +0 -124
- package/esm2020/ngx-utils/services/state.service.mjs +0 -173
- package/esm2020/ngx-utils/services/storage.service.mjs +0 -49
- package/esm2020/ngx-utils/services/translated-url.serializer.mjs +0 -73
- package/esm2020/ngx-utils/services/universal.service.mjs +0 -81
- package/esm2020/ngx-utils/utils/ajax-request-handler.mjs +0 -40
- package/esm2020/ngx-utils/utils/array.utils.mjs +0 -107
- package/esm2020/ngx-utils/utils/auth.guard.mjs +0 -181
- package/esm2020/ngx-utils/utils/cached-factory.mjs +0 -30
- package/esm2020/ngx-utils/utils/canvas.utils.mjs +0 -388
- package/esm2020/ngx-utils/utils/date.utils.mjs +0 -29
- package/esm2020/ngx-utils/utils/file.utils.mjs +0 -90
- package/esm2020/ngx-utils/utils/geometry.mjs +0 -132
- package/esm2020/ngx-utils/utils/jsonfn.mjs +0 -45
- package/esm2020/ngx-utils/utils/loader.utils.mjs +0 -55
- package/esm2020/ngx-utils/utils/math.utils.mjs +0 -44
- package/esm2020/ngx-utils/utils/object.utils.mjs +0 -320
- package/esm2020/ngx-utils/utils/reflect.utils.mjs +0 -33
- package/esm2020/ngx-utils/utils/set.utils.mjs +0 -20
- package/esm2020/ngx-utils/utils/string.utils.mjs +0 -41
- package/esm2020/ngx-utils/utils/unique.utils.mjs +0 -24
- package/esm2020/ngx-utils/utils/vector.mjs +0 -77
- package/esm2020/ngx-utils/utils/wasi.mjs +0 -159
- package/esm2020/ngx-utils/utils/wasm-worker-proxy.mjs +0 -99
- package/esm2020/tools/config.mjs +0 -71
- package/fesm2015/stemy-ngx-utils-tools.mjs +0 -77
- package/fesm2015/stemy-ngx-utils.mjs +0 -5891
- package/fesm2015/stemy-ngx-utils.mjs.map +0 -1
- package/fesm2020/stemy-ngx-utils-tools.mjs.map +0 -1
- package/fesm2020/stemy-ngx-utils.mjs.map +0 -1
- package/tools/package.json +0 -10
|
@@ -1,159 +0,0 @@
|
|
|
1
|
-
import { Injectable } from "@angular/core";
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class Wasi {
|
|
4
|
-
constructor() {
|
|
5
|
-
this.env = {};
|
|
6
|
-
this.instantiated = false;
|
|
7
|
-
this.wasi = [
|
|
8
|
-
"emscripten_notify_memory_growth",
|
|
9
|
-
"proc_exit",
|
|
10
|
-
"environ_get",
|
|
11
|
-
"environ_sizes_get",
|
|
12
|
-
"fd_close",
|
|
13
|
-
"fd_write",
|
|
14
|
-
"fd_read",
|
|
15
|
-
"fd_seek",
|
|
16
|
-
].reduce((res, key) => {
|
|
17
|
-
if (typeof this[key] === "function") {
|
|
18
|
-
res[key] = this[key].bind(this);
|
|
19
|
-
}
|
|
20
|
-
return res;
|
|
21
|
-
}, {});
|
|
22
|
-
}
|
|
23
|
-
instantiate(bytes) {
|
|
24
|
-
if (this.instantiated) {
|
|
25
|
-
throw new Error("WASI already instantiated");
|
|
26
|
-
}
|
|
27
|
-
this.instantiated = true;
|
|
28
|
-
return WebAssembly.instantiate(bytes, {
|
|
29
|
-
wasi_snapshot_preview1: this.wasi,
|
|
30
|
-
env: this.wasi
|
|
31
|
-
}).then(module => {
|
|
32
|
-
const exports = module.instance.exports;
|
|
33
|
-
this.wasm = {
|
|
34
|
-
...exports,
|
|
35
|
-
writeArrayToMemory: (array) => {
|
|
36
|
-
const bytes = array.length * array.BYTES_PER_ELEMENT;
|
|
37
|
-
const pointer = exports.malloc(bytes);
|
|
38
|
-
const ctr = array.constructor;
|
|
39
|
-
const heapArray = new ctr(this.wasm.memory.buffer, pointer, array.length);
|
|
40
|
-
heapArray.set(array);
|
|
41
|
-
return pointer;
|
|
42
|
-
},
|
|
43
|
-
readArrayFromMemory: (pointer, array) => {
|
|
44
|
-
const ctr = array.constructor;
|
|
45
|
-
const heapArray = new ctr(this.wasm.memory.buffer, pointer, array.length);
|
|
46
|
-
array.set(heapArray);
|
|
47
|
-
return array;
|
|
48
|
-
}
|
|
49
|
-
};
|
|
50
|
-
this.updateMemoryViews();
|
|
51
|
-
return this.wasm;
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
updateMemoryViews() {
|
|
55
|
-
const buffer = this.wasm.memory.buffer;
|
|
56
|
-
this.wasm.HEAP8 = new Int8Array(buffer);
|
|
57
|
-
this.wasm.HEAP16 = new Int16Array(buffer);
|
|
58
|
-
this.wasm.HEAP32 = new Int32Array(buffer);
|
|
59
|
-
this.wasm.HEAPU8 = new Uint8Array(buffer);
|
|
60
|
-
this.wasm.HEAPU16 = new Uint16Array(buffer);
|
|
61
|
-
this.wasm.HEAPU32 = new Uint32Array(buffer);
|
|
62
|
-
this.wasm.HEAPF32 = new Float32Array(buffer);
|
|
63
|
-
this.wasm.HEAPF64 = new Float64Array(buffer);
|
|
64
|
-
}
|
|
65
|
-
getEnvStrings() {
|
|
66
|
-
if (!this.envStrings) {
|
|
67
|
-
let x;
|
|
68
|
-
const env = {};
|
|
69
|
-
for (x in this.env) {
|
|
70
|
-
if (this.env[x] === undefined)
|
|
71
|
-
delete env[x];
|
|
72
|
-
else
|
|
73
|
-
env[x] = this.env[x];
|
|
74
|
-
}
|
|
75
|
-
const strings = [];
|
|
76
|
-
for (x in env) {
|
|
77
|
-
strings.push(x + "=" + env[x]);
|
|
78
|
-
}
|
|
79
|
-
this.envStrings = strings;
|
|
80
|
-
}
|
|
81
|
-
return this.envStrings;
|
|
82
|
-
}
|
|
83
|
-
stringToAscii(str, buffer) {
|
|
84
|
-
const HEAP8 = this.wasm.HEAP8;
|
|
85
|
-
for (let i = 0; i < str.length; ++i) {
|
|
86
|
-
HEAP8[buffer++ >> 0] = str.charCodeAt(i);
|
|
87
|
-
}
|
|
88
|
-
HEAP8[buffer >> 0] = 0;
|
|
89
|
-
}
|
|
90
|
-
emscripten_notify_memory_growth(memoryIndex) {
|
|
91
|
-
this.updateMemoryViews();
|
|
92
|
-
}
|
|
93
|
-
proc_exit(rval) {
|
|
94
|
-
console.log("proc_exit", rval);
|
|
95
|
-
}
|
|
96
|
-
environ_get(environ, environ_buf) {
|
|
97
|
-
if (!this.wasm.HEAP8.byteLength) {
|
|
98
|
-
this.emscripten_notify_memory_growth(0);
|
|
99
|
-
}
|
|
100
|
-
const HEAPU32 = this.wasm.HEAPU32;
|
|
101
|
-
let bufSize = 0;
|
|
102
|
-
this.getEnvStrings().forEach((str, i) => {
|
|
103
|
-
const ptr = environ_buf + bufSize;
|
|
104
|
-
HEAPU32[environ + i * 4 >> 2] = ptr;
|
|
105
|
-
this.stringToAscii(str, ptr);
|
|
106
|
-
bufSize += str.length + 1;
|
|
107
|
-
});
|
|
108
|
-
return 0;
|
|
109
|
-
}
|
|
110
|
-
environ_sizes_get(penviron_count, penviron_buf_size) {
|
|
111
|
-
if (!this.wasm.HEAP8.byteLength) {
|
|
112
|
-
this.emscripten_notify_memory_growth(0);
|
|
113
|
-
}
|
|
114
|
-
const HEAPU32 = this.wasm.HEAPU32;
|
|
115
|
-
const strings = this.getEnvStrings();
|
|
116
|
-
HEAPU32[penviron_count >> 2] = strings.length;
|
|
117
|
-
let bufSize = 0;
|
|
118
|
-
strings.forEach(function (string) {
|
|
119
|
-
bufSize += string.length + 1;
|
|
120
|
-
});
|
|
121
|
-
HEAPU32[penviron_buf_size >> 2] = bufSize;
|
|
122
|
-
// WASI_ESUCCESS
|
|
123
|
-
return 0;
|
|
124
|
-
}
|
|
125
|
-
fd_close(fd) {
|
|
126
|
-
// WASI_ESUCCESS
|
|
127
|
-
return 0;
|
|
128
|
-
}
|
|
129
|
-
fd_write(fd, iovs, iovs_len, nwritten) {
|
|
130
|
-
if (fd !== 1) {
|
|
131
|
-
// WASI_EBADF
|
|
132
|
-
return 8;
|
|
133
|
-
}
|
|
134
|
-
if (iovs_len !== 1) {
|
|
135
|
-
// WASI_ENOSYS
|
|
136
|
-
return 52;
|
|
137
|
-
}
|
|
138
|
-
this.wasm.HEAPU32[nwritten >> 2] = this.wasm.HEAPU32[iovs + 4 >> 2];
|
|
139
|
-
// WASI_ESUCCESS
|
|
140
|
-
return 0;
|
|
141
|
-
}
|
|
142
|
-
fd_read(fd, iovs, iovs_len, nread) {
|
|
143
|
-
// WASI_EINVAL
|
|
144
|
-
return 28;
|
|
145
|
-
}
|
|
146
|
-
fd_seek(fd, offset, whence, newOffset) {
|
|
147
|
-
// WASI_EINVAL
|
|
148
|
-
return 28;
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
Wasi.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: Wasi, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
152
|
-
Wasi.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: Wasi, providedIn: "root" });
|
|
153
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: Wasi, decorators: [{
|
|
154
|
-
type: Injectable,
|
|
155
|
-
args: [{
|
|
156
|
-
providedIn: "root"
|
|
157
|
-
}]
|
|
158
|
-
}], ctorParameters: function () { return []; } });
|
|
159
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FzaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9uZ3gtdXRpbHMvdXRpbHMvd2FzaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDOztBQU16QyxNQUFNLE9BQU8sSUFBSTtJQVFiO1FBQ0ksSUFBSSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUM7UUFDZCxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUMxQixJQUFJLENBQUMsSUFBSSxHQUFHO1lBQ1IsaUNBQWlDO1lBQ2pDLFdBQVc7WUFDWCxhQUFhO1lBQ2IsbUJBQW1CO1lBQ25CLFVBQVU7WUFDVixVQUFVO1lBQ1YsU0FBUztZQUNULFNBQVM7U0FDWixDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUNsQixJQUFJLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLFVBQVUsRUFBRTtnQkFDakMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDbkM7WUFDRCxPQUFPLEdBQUcsQ0FBQztRQUNmLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBa0I7UUFDMUIsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ25CLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQztTQUNoRDtRQUNELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLE9BQU8sV0FBVyxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUU7WUFDbEMsc0JBQXNCLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDakMsR0FBRyxFQUFFLElBQUksQ0FBQyxJQUFJO1NBQ2pCLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVB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QUM7SUFFRCxRQUFRLENBQUMsRUFBVSxFQUFFLElBQVksRUFBRSxRQUFnQixFQUFFLFFBQWdCO1FBQ2pFLElBQUksRUFBRSxLQUFLLENBQUMsRUFBRTtZQUNWLGFBQWE7WUFDYixPQUFPLENBQUMsQ0FBQztTQUNaO1FBQ0QsSUFBSSxRQUFRLEtBQUssQ0FBQyxFQUFFO1lBQ2hCLGNBQWM7WUFDZCxPQUFPLEVBQUUsQ0FBQztTQUNiO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDcEUsZ0JBQWdCO1FBQ2hCLE9BQU8sQ0FBQyxDQUFDO0lBQ2IsQ0FBQztJQUVELE9BQU8sQ0FBQyxFQUFVLEVBQUUsSUFBWSxFQUFFLFFBQWdCLEVBQUUsS0FBYTtRQUM3RCxjQUFjO1FBQ2QsT0FBTyxFQUFFLENBQUM7SUFDZCxDQUFDO0lBRUQsT0FBTyxDQUFDLEVBQVUsRUFBRSxNQUFjLEVBQUUsTUFBYyxFQUFFLFNBQWlCO1FBQ2pFLGNBQWM7UUFDZCxPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUM7O2lHQWxLUSxJQUFJO3FHQUFKLElBQUksY0FGRCxNQUFNOzJGQUVULElBQUk7a0JBSGhCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0lXYXNpLCBJV2FzbUV4cG9ydHMsIFR5cGVkQXJyYXl9IGZyb20gXCIuLi9jb21tb24tdHlwZXNcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46IFwicm9vdFwiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBXYXNpIGltcGxlbWVudHMgSVdhc2kge1xyXG5cclxuICAgIHByb3RlY3RlZCBlbnY6IHtba2V5OiBzdHJpbmddOiBzdHJpbmd9O1xyXG4gICAgcHJvdGVjdGVkIGluc3RhbnRpYXRlZDogYm9vbGVhbjtcclxuICAgIHByb3RlY3RlZCB3YXNpOiBhbnk7XHJcbiAgICBwcm90ZWN0ZWQgd2FzbTogSVdhc21FeHBvcnRzO1xyXG4gICAgcHJvdGVjdGVkIGVudlN0cmluZ3M6IHN0cmluZ1tdO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIHRoaXMuZW52ID0ge307XHJcbiAgICAgICAgdGhpcy5pbnN0YW50aWF0ZWQgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLndhc2kgPSBbXHJcbiAgICAgICAgICAgIFwiZW1zY3JpcHRlbl9ub3RpZnlfbWVtb3J5X2dyb3d0aFwiLFxyXG4gICAgICAgICAgICBcInByb2NfZXhpdFwiLFxyXG4gICAgICAgICAgICBcImVudmlyb25fZ2V0XCIsXHJcbiAgICAgICAgICAgIFwiZW52aXJvbl9zaXplc19nZXRcIixcclxuICAgICAgICAgICAgXCJmZF9jbG9zZVwiLFxyXG4gICAgICAgICAgICBcImZkX3dyaXRlXCIsXHJcbiAgICAgICAgICAgIFwiZmRfcmVhZFwiLFxyXG4gICAgICAgICAgICBcImZkX3NlZWtcIixcclxuICAgICAgICBdLnJlZHVjZSgocmVzLCBrZXkpID0+IHtcclxuICAgICAgICAgICAgaWYgKHR5cGVvZiB0aGlzW2tleV0gPT09IFwiZnVuY3Rpb25cIikge1xyXG4gICAgICAgICAgICAgICAgcmVzW2tleV0gPSB0aGlzW2tleV0uYmluZCh0aGlzKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gcmVzO1xyXG4gICAgICAgIH0sIHt9KTtcclxuICAgIH1cclxuXHJcbiAgICBpbnN0YW50aWF0ZShieXRlczogQXJyYXlCdWZmZXIpOiBQcm9taXNlPElXYXNtRXhwb3J0cz4ge1xyXG4gICAgICAgIGlmICh0aGlzLmluc3RhbnRpYXRlZCkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJXQVNJIGFscmVhZHkgaW5zdGFudGlhdGVkXCIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmluc3RhbnRpYXRlZCA9IHRydWU7XHJcbiAgICAgICAgcmV0dXJuIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKGJ5dGVzLCB7XHJcbiAgICAgICAgICAgIHdhc2lfc25hcHNob3RfcHJldmlldzE6IHRoaXMud2FzaSxcclxuICAgICAgICAgICAgZW52OiB0aGlzLndhc2lcclxuICAgICAgICB9KS50aGVuKG1vZHVsZSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGV4cG9ydHMgPSBtb2R1bGUuaW5zdGFuY2UuZXhwb3J0cyBhcyBhbnk7XHJcbiAgICAgICAgICAgIHRoaXMud2FzbSA9IHtcclxuICAgICAgICAgICAgICAgIC4uLmV4cG9ydHMsXHJcbiAgICAgICAgICAgICAgICB3cml0ZUFycmF5VG9NZW1vcnk6IChhcnJheTogVHlwZWRBcnJheSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGJ5dGVzID0gYXJyYXkubGVuZ3RoICogYXJyYXkuQllURVNfUEVSX0VMRU1FTlQ7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcG9pbnRlciA9IGV4cG9ydHMubWFsbG9jKGJ5dGVzKTtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBjdHIgPSBhcnJheS5jb25zdHJ1Y3RvciBhcyBhbnk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaGVhcEFycmF5ID0gbmV3IGN0cih0aGlzLndhc20ubWVtb3J5LmJ1ZmZlciwgcG9pbnRlciwgYXJyYXkubGVuZ3RoKTtcclxuICAgICAgICAgICAgICAgICAgICBoZWFwQXJyYXkuc2V0KGFycmF5KTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcG9pbnRlcjtcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICByZWFkQXJyYXlGcm9tTWVtb3J5OiAocG9pbnRlcjogbnVtYmVyLCBhcnJheTogVHlwZWRBcnJheSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGN0ciA9IGFycmF5LmNvbnN0cnVjdG9yIGFzIGFueTtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBoZWFwQXJyYXkgPSBuZXcgY3RyKHRoaXMud2FzbS5tZW1vcnkuYnVmZmVyLCBwb2ludGVyLCBhcnJheS5sZW5ndGgpO1xyXG4gICAgICAgICAgICAgICAgICAgIGFycmF5LnNldChoZWFwQXJyYXkpO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBhcnJheTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBhcyBJV2FzbUV4cG9ydHM7XHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlTWVtb3J5Vmlld3MoKTtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMud2FzbTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgdXBkYXRlTWVtb3J5Vmlld3MoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgYnVmZmVyID0gdGhpcy53YXNtLm1lbW9yeS5idWZmZXI7XHJcbiAgICAgICAgdGhpcy53YXNtLkhFQVA4ID0gbmV3IEludDhBcnJheShidWZmZXIpO1xyXG4gICAgICAgIHRoaXMud2FzbS5IRUFQMTYgPSBuZXcgSW50MTZBcnJheShidWZmZXIpO1xyXG4gICAgICAgIHRoaXMud2FzbS5IRUFQMzIgPSBuZXcgSW50MzJBcnJheShidWZmZXIpO1xyXG4gICAgICAgIHRoaXMud2FzbS5IRUFQVTggPSBuZXcgVWludDhBcnJheShidWZmZXIpO1xyXG4gICAgICAgIHRoaXMud2FzbS5IRUFQVTE2ID0gbmV3IFVpbnQxNkFycmF5KGJ1ZmZlcik7XHJcbiAgICAgICAgdGhpcy53YXNtLkhFQVBVMzIgPSBuZXcgVWludDMyQXJyYXkoYnVmZmVyKTtcclxuICAgICAgICB0aGlzLndhc20uSEVBUEYzMiA9IG5ldyBGbG9hdDMyQXJyYXkoYnVmZmVyKTtcclxuICAgICAgICB0aGlzLndhc20uSEVBUEY2NCA9IG5ldyBGbG9hdDY0QXJyYXkoYnVmZmVyKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgZ2V0RW52U3RyaW5ncygpOiBzdHJpbmdbXSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmVudlN0cmluZ3MpIHtcclxuICAgICAgICAgICAgbGV0IHg7XHJcbiAgICAgICAgICAgIGNvbnN0IGVudiA9IHt9O1xyXG4gICAgICAgICAgICBmb3IgKHggaW4gdGhpcy5lbnYpIHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmVudlt4XSA9PT0gdW5kZWZpbmVkKSBkZWxldGUgZW52W3hdOyBlbHNlIGVudlt4XSA9IHRoaXMuZW52W3hdXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY29uc3Qgc3RyaW5ncyA9IFtdO1xyXG4gICAgICAgICAgICBmb3IgKHggaW4gZW52KSB7XHJcbiAgICAgICAgICAgICAgICBzdHJpbmdzLnB1c2goeCArIFwiPVwiICsgZW52W3hdKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuZW52U3RyaW5ncyA9IHN0cmluZ3NcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZW52U3RyaW5ncztcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgc3RyaW5nVG9Bc2NpaShzdHIsIGJ1ZmZlcikge1xyXG4gICAgICAgIGNvbnN0IEhFQVA4ID0gdGhpcy53YXNtLkhFQVA4O1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc3RyLmxlbmd0aDsgKytpKSB7XHJcbiAgICAgICAgICAgIEhFQVA4W2J1ZmZlcisrID4+IDBdID0gc3RyLmNoYXJDb2RlQXQoaSlcclxuICAgICAgICB9XHJcbiAgICAgICAgSEVBUDhbYnVmZmVyID4+IDBdID0gMFxyXG4gICAgfVxyXG5cclxuICAgIGVtc2NyaXB0ZW5fbm90aWZ5X21lbW9yeV9ncm93dGgobWVtb3J5SW5kZXg6IG51bWJlcik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMudXBkYXRlTWVtb3J5Vmlld3MoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm9jX2V4aXQocnZhbDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCJwcm9jX2V4aXRcIiwgcnZhbCk7XHJcbiAgICB9XHJcblxyXG4gICAgZW52aXJvbl9nZXQoZW52aXJvbjogbnVtYmVyLCBlbnZpcm9uX2J1ZjogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgICAgICBpZiAoIXRoaXMud2FzbS5IRUFQOC5ieXRlTGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZW1zY3JpcHRlbl9ub3RpZnlfbWVtb3J5X2dyb3d0aCgwKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgSEVBUFUzMiA9IHRoaXMud2FzbS5IRUFQVTMyO1xyXG4gICAgICAgIGxldCBidWZTaXplID0gMDtcclxuICAgICAgICB0aGlzLmdldEVudlN0cmluZ3MoKS5mb3JFYWNoKChzdHI6IHN0cmluZywgaTogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHB0ciA9IGVudmlyb25fYnVmICsgYnVmU2l6ZTtcclxuICAgICAgICAgICAgSEVBUFUzMltlbnZpcm9uICsgaSAqIDQgPj4gMl0gPSBwdHI7XHJcbiAgICAgICAgICAgIHRoaXMuc3RyaW5nVG9Bc2NpaShzdHIsIHB0cik7XHJcbiAgICAgICAgICAgIGJ1ZlNpemUgKz0gc3RyLmxlbmd0aCArIDFcclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gMFxyXG4gICAgfVxyXG5cclxuICAgIGVudmlyb25fc2l6ZXNfZ2V0KHBlbnZpcm9uX2NvdW50OiBudW1iZXIsIHBlbnZpcm9uX2J1Zl9zaXplOiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgICAgIGlmICghdGhpcy53YXNtLkhFQVA4LmJ5dGVMZW5ndGgpIHtcclxuICAgICAgICAgICAgdGhpcy5lbXNjcmlwdGVuX25vdGlmeV9tZW1vcnlfZ3Jvd3RoKDApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBIRUFQVTMyID0gdGhpcy53YXNtLkhFQVBVMzI7XHJcbiAgICAgICAgY29uc3Qgc3RyaW5ncyA9IHRoaXMuZ2V0RW52U3RyaW5ncygpO1xyXG4gICAgICAgIEhFQVBVMzJbcGVudmlyb25fY291bnQgPj4gMl0gPSBzdHJpbmdzLmxlbmd0aDtcclxuICAgICAgICBsZXQgYnVmU2l6ZSA9IDA7XHJcbiAgICAgICAgc3RyaW5ncy5mb3JFYWNoKGZ1bmN0aW9uIChzdHJpbmcpIHtcclxuICAgICAgICAgICAgYnVmU2l6ZSArPSBzdHJpbmcubGVuZ3RoICsgMVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIEhFQVBVMzJbcGVudmlyb25fYnVmX3NpemUgPj4gMl0gPSBidWZTaXplO1xyXG4gICAgICAgIC8vIFdBU0lfRVNVQ0NFU1NcclxuICAgICAgICByZXR1cm4gMFxyXG4gICAgfVxyXG5cclxuICAgIGZkX2Nsb3NlKGZkOiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgICAgIC8vIFdBU0lfRVNVQ0NFU1NcclxuICAgICAgICByZXR1cm4gMDtcclxuICAgIH1cclxuXHJcbiAgICBmZF93cml0ZShmZDogbnVtYmVyLCBpb3ZzOiBudW1iZXIsIGlvdnNfbGVuOiBudW1iZXIsIG53cml0dGVuOiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgICAgIGlmIChmZCAhPT0gMSkge1xyXG4gICAgICAgICAgICAvLyBXQVNJX0VCQURGXHJcbiAgICAgICAgICAgIHJldHVybiA4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoaW92c19sZW4gIT09IDEpIHtcclxuICAgICAgICAgICAgLy8gV0FTSV9FTk9TWVNcclxuICAgICAgICAgICAgcmV0dXJuIDUyO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLndhc20uSEVBUFUzMltud3JpdHRlbiA+PiAyXSA9IHRoaXMud2FzbS5IRUFQVTMyW2lvdnMgKyA0ID4+IDJdO1xyXG4gICAgICAgIC8vIFdBU0lfRVNVQ0NFU1NcclxuICAgICAgICByZXR1cm4gMDtcclxuICAgIH1cclxuXHJcbiAgICBmZF9yZWFkKGZkOiBudW1iZXIsIGlvdnM6IG51bWJlciwgaW92c19sZW46IG51bWJlciwgbnJlYWQ6IG51bWJlcik6IG51bWJlciB7XHJcbiAgICAgICAgLy8gV0FTSV9FSU5WQUxcclxuICAgICAgICByZXR1cm4gMjg7XHJcbiAgICB9XHJcblxyXG4gICAgZmRfc2VlayhmZDogbnVtYmVyLCBvZmZzZXQ6IG51bWJlciwgd2hlbmNlOiBudW1iZXIsIG5ld09mZnNldDogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgICAgICAvLyBXQVNJX0VJTlZBTFxyXG4gICAgICAgIHJldHVybiAyODtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
import { JSONfn } from "./jsonfn";
|
|
2
|
-
export function workerFunction(JSONfn, logTimes) {
|
|
3
|
-
let wasmResolve = null;
|
|
4
|
-
const wasmInstance = new Promise(resolve => {
|
|
5
|
-
wasmResolve = resolve;
|
|
6
|
-
});
|
|
7
|
-
self.onmessage = function (e) {
|
|
8
|
-
const data = e.data;
|
|
9
|
-
const { type, payload } = data;
|
|
10
|
-
switch (type) {
|
|
11
|
-
case "wasm":
|
|
12
|
-
const { url, wasi } = payload;
|
|
13
|
-
fetch(url).then(response => response.arrayBuffer()).then(bytes => {
|
|
14
|
-
const wasiImpl = JSONfn.parse(wasi);
|
|
15
|
-
return new wasiImpl().instantiate(bytes);
|
|
16
|
-
}).then(instance => {
|
|
17
|
-
wasmResolve(instance);
|
|
18
|
-
const methods = Object.getOwnPropertyNames(instance).filter(key => typeof instance[key] === "function");
|
|
19
|
-
self.postMessage({ type: "methods", payload: methods });
|
|
20
|
-
});
|
|
21
|
-
break;
|
|
22
|
-
case "call":
|
|
23
|
-
wasmInstance.then(instance => {
|
|
24
|
-
const { name, id, args } = payload;
|
|
25
|
-
if (logTimes) {
|
|
26
|
-
console.time(id);
|
|
27
|
-
console.timeLog(id, `Calling ${name} ...`);
|
|
28
|
-
}
|
|
29
|
-
const func = instance[name];
|
|
30
|
-
const result = func(...args);
|
|
31
|
-
if (logTimes) {
|
|
32
|
-
console.timeLog(id, `Called ${name}`);
|
|
33
|
-
console.timeEnd(id);
|
|
34
|
-
}
|
|
35
|
-
self.postMessage({ type: "result", payload: { id, result } });
|
|
36
|
-
});
|
|
37
|
-
break;
|
|
38
|
-
}
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
export class WasmWorkerProxy {
|
|
42
|
-
constructor(wasmPath, wasi, logTimes = false) {
|
|
43
|
-
this.methods = new Promise(resolve => {
|
|
44
|
-
this.onMethods = resolve;
|
|
45
|
-
});
|
|
46
|
-
const lt = logTimes ? "true" : "false";
|
|
47
|
-
const blob = new Blob([`${JSONfn.toString()} (${workerFunction.toString()})(JSONfn, ${lt})`], { type: 'application/javascript' });
|
|
48
|
-
this.worker = new Worker(URL.createObjectURL(blob));
|
|
49
|
-
this.worker.postMessage({
|
|
50
|
-
type: "wasm",
|
|
51
|
-
payload: { url: wasmPath, wasi: JSONfn.stringify(wasi), logTimes }
|
|
52
|
-
});
|
|
53
|
-
this.worker.onmessage = this.onMessage.bind(this);
|
|
54
|
-
this.promises = new Map();
|
|
55
|
-
return new Proxy(this, {
|
|
56
|
-
get: (target, prop, receiver) => {
|
|
57
|
-
const res = Reflect.get(target, prop, receiver);
|
|
58
|
-
if (res) {
|
|
59
|
-
return res;
|
|
60
|
-
}
|
|
61
|
-
return (...args) => {
|
|
62
|
-
return this.call(prop.toString(), args);
|
|
63
|
-
};
|
|
64
|
-
}
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
onMessage(e) {
|
|
68
|
-
const data = e.data;
|
|
69
|
-
const { type, payload } = data;
|
|
70
|
-
switch (type) {
|
|
71
|
-
case "methods":
|
|
72
|
-
this.onMethods(payload);
|
|
73
|
-
break;
|
|
74
|
-
case "result":
|
|
75
|
-
const { id, result } = payload;
|
|
76
|
-
const promise = this.promises.get(id);
|
|
77
|
-
if (promise) {
|
|
78
|
-
promise.resolve(result);
|
|
79
|
-
this.promises.delete(id);
|
|
80
|
-
}
|
|
81
|
-
break;
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
async call(method, args) {
|
|
85
|
-
const methods = await this.methods;
|
|
86
|
-
if (!methods.includes(method)) {
|
|
87
|
-
throw new Error(`Method ${method} not found`);
|
|
88
|
-
}
|
|
89
|
-
return new Promise((resolve, reject) => {
|
|
90
|
-
const id = Math.random().toString(36).substring(2, 9);
|
|
91
|
-
this.worker.postMessage({
|
|
92
|
-
type: "call",
|
|
93
|
-
payload: { name: method, id, args }
|
|
94
|
-
});
|
|
95
|
-
this.promises.set(id, { resolve, reject });
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FzbS13b3JrZXItcHJveHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbmd4LXV0aWxzL3V0aWxzL3dhc20td29ya2VyLXByb3h5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFPaEMsTUFBTSxVQUFVLGNBQWMsQ0FBQyxNQUFXLEVBQUUsUUFBaUI7SUFFekQsSUFBSSxXQUFXLEdBQXFDLElBQUksQ0FBQztJQUN6RCxNQUFNLFlBQVksR0FBMEIsSUFBSSxPQUFPLENBQWUsT0FBTyxDQUFDLEVBQUU7UUFDNUUsV0FBVyxHQUFHLE9BQU8sQ0FBQztJQUMxQixDQUFDLENBQUMsQ0FBQztJQUVILElBQUksQ0FBQyxTQUFTLEdBQUcsVUFBVSxDQUFDO1FBQ3hCLE1BQU0sSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDcEIsTUFBTSxFQUFDLElBQUksRUFBRSxPQUFPLEVBQUMsR0FBRyxJQUFJLENBQUM7UUFDN0IsUUFBUSxJQUFJLEVBQUU7WUFDVixLQUFLLE1BQU07Z0JBQ1AsTUFBTSxFQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUMsR0FBRyxPQUFPLENBQUM7Z0JBQzVCLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7b0JBQzdELE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ3BDLE9BQU8sSUFBSSxRQUFRLEVBQUUsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzdDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRTtvQkFDZixXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7b0JBQ3RCLE1BQU0sT0FB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QUFDO1NBQ2pEO1FBQ0QsT0FBTyxJQUFJLE9BQU8sQ0FBTSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUN4QyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDdEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUM7Z0JBQ3BCLElBQUksRUFBRSxNQUFNO2dCQUNaLE9BQU8sRUFBRSxFQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBQzthQUNwQyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBQyxPQUFPLEVBQUUsTUFBTSxFQUFDLENBQUMsQ0FBQztRQUM3QyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SVdhc2ksIElXYXNtRXhwb3J0c30gZnJvbSBcIi4uL2NvbW1vbi10eXBlc1wiO1xyXG5pbXBvcnQge1R5cGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7SlNPTmZufSBmcm9tIFwiLi9qc29uZm5cIjtcclxuXHJcbmludGVyZmFjZSBJUHJvbWlzZUV4ZWN1dG9yIHtcclxuICAgIHJlc29sdmU6ICh2YWx1ZT86IGFueSkgPT4gdm9pZDtcclxuICAgIHJlamVjdDogKHJlYXNvbj86IGFueSkgPT4gdm9pZDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHdvcmtlckZ1bmN0aW9uKEpTT05mbjogYW55LCBsb2dUaW1lczogYm9vbGVhbik6IHZvaWQge1xyXG5cclxuICAgIGxldCB3YXNtUmVzb2x2ZTogKGluc3RhbmNlOiBJV2FzbUV4cG9ydHMpID0+IHZvaWQgPSBudWxsO1xyXG4gICAgY29uc3Qgd2FzbUluc3RhbmNlOiBQcm9taXNlPElXYXNtRXhwb3J0cz4gPSBuZXcgUHJvbWlzZTxJV2FzbUV4cG9ydHM+KHJlc29sdmUgPT4ge1xyXG4gICAgICAgIHdhc21SZXNvbHZlID0gcmVzb2x2ZTtcclxuICAgIH0pO1xyXG5cclxuICAgIHNlbGYub25tZXNzYWdlID0gZnVuY3Rpb24gKGUpIHtcclxuICAgICAgICBjb25zdCBkYXRhID0gZS5kYXRhO1xyXG4gICAgICAgIGNvbnN0IHt0eXBlLCBwYXlsb2FkfSA9IGRhdGE7XHJcbiAgICAgICAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICAgICAgICAgIGNhc2UgXCJ3YXNtXCI6XHJcbiAgICAgICAgICAgICAgICBjb25zdCB7dXJsLCB3YXNpfSA9IHBheWxvYWQ7XHJcbiAgICAgICAgICAgICAgICBmZXRjaCh1cmwpLnRoZW4ocmVzcG9uc2UgPT4gcmVzcG9uc2UuYXJyYXlCdWZmZXIoKSkudGhlbihieXRlcyA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgd2FzaUltcGwgPSBKU09OZm4ucGFyc2Uod2FzaSk7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyB3YXNpSW1wbCgpLmluc3RhbnRpYXRlKGJ5dGVzKTtcclxuICAgICAgICAgICAgICAgIH0pLnRoZW4oaW5zdGFuY2UgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHdhc21SZXNvbHZlKGluc3RhbmNlKTtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBtZXRob2RzID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoaW5zdGFuY2UpLmZpbHRlcihrZXkgPT4gdHlwZW9mIGluc3RhbmNlW2tleV0gPT09IFwiZnVuY3Rpb25cIik7XHJcbiAgICAgICAgICAgICAgICAgICAgc2VsZi5wb3N0TWVzc2FnZSh7dHlwZTogXCJtZXRob2RzXCIsIHBheWxvYWQ6IG1ldGhvZHN9KTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgXCJjYWxsXCI6XHJcbiAgICAgICAgICAgICAgICB3YXNtSW5zdGFuY2UudGhlbihpbnN0YW5jZSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qge25hbWUsIGlkLCBhcmdzfSA9IHBheWxvYWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGxvZ1RpbWVzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUudGltZShpZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUudGltZUxvZyhpZCwgYENhbGxpbmcgJHtuYW1lfSAuLi5gKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZnVuYyA9IChpbnN0YW5jZVtuYW1lXSBhcyBGdW5jdGlvbik7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gZnVuYyguLi5hcmdzKTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAobG9nVGltZXMpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS50aW1lTG9nKGlkLCBgQ2FsbGVkICR7bmFtZX1gKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS50aW1lRW5kKGlkKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgc2VsZi5wb3N0TWVzc2FnZSh7dHlwZTogXCJyZXN1bHRcIiwgcGF5bG9hZDoge2lkLCByZXN1bHR9fSk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBXYXNtV29ya2VyUHJveHkge1xyXG5cclxuICAgIHByb3RlY3RlZCBtZXRob2RzOiBQcm9taXNlPHN0cmluZ1tdPjtcclxuICAgIHByb3RlY3RlZCBvbk1ldGhvZHM6IChtZXRob2RzOiBzdHJpbmdbXSkgPT4gdm9pZDtcclxuICAgIHByb3RlY3RlZCB3b3JrZXI6IFdvcmtlcjtcclxuICAgIHByb3RlY3RlZCBwcm9taXNlczogTWFwPHN0cmluZywgSVByb21pc2VFeGVjdXRvcj47XHJcblxyXG4gICAgY29uc3RydWN0b3Iod2FzbVBhdGg6IHN0cmluZywgd2FzaTogVHlwZTxJV2FzaT4sIGxvZ1RpbWVzOiBib29sZWFuID0gZmFsc2UpIHtcclxuICAgICAgICB0aGlzLm1ldGhvZHMgPSBuZXcgUHJvbWlzZTxzdHJpbmdbXT4ocmVzb2x2ZSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMub25NZXRob2RzID0gcmVzb2x2ZTtcclxuICAgICAgICB9KTtcclxuICAgICAgICBjb25zdCBsdCA9IGxvZ1RpbWVzID8gXCJ0cnVlXCIgOiBcImZhbHNlXCI7XHJcbiAgICAgICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFxyXG4gICAgICAgICAgICBbYCR7SlNPTmZuLnRvU3RyaW5nKCl9ICgke3dvcmtlckZ1bmN0aW9uLnRvU3RyaW5nKCl9KShKU09OZm4sICR7bHR9KWBdLFxyXG4gICAgICAgICAgICB7dHlwZTogJ2FwcGxpY2F0aW9uL2phdmFzY3JpcHQnfVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy53b3JrZXIgPSBuZXcgV29ya2VyKFVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYikpO1xyXG4gICAgICAgIHRoaXMud29ya2VyLnBvc3RNZXNzYWdlKHtcclxuICAgICAgICAgICAgdHlwZTogXCJ3YXNtXCIsXHJcbiAgICAgICAgICAgIHBheWxvYWQ6IHt1cmw6IHdhc21QYXRoLCB3YXNpOiBKU09OZm4uc3RyaW5naWZ5KHdhc2kpLCBsb2dUaW1lc31cclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLndvcmtlci5vbm1lc3NhZ2UgPSB0aGlzLm9uTWVzc2FnZS5iaW5kKHRoaXMpO1xyXG4gICAgICAgIHRoaXMucHJvbWlzZXMgPSBuZXcgTWFwPHN0cmluZywgSVByb21pc2VFeGVjdXRvcj4oKTtcclxuICAgICAgICByZXR1cm4gbmV3IFByb3h5KHRoaXMsIHtcclxuICAgICAgICAgICAgZ2V0OiAodGFyZ2V0LCBwcm9wLCByZWNlaXZlcikgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgcmVzID0gUmVmbGVjdC5nZXQodGFyZ2V0LCBwcm9wLCByZWNlaXZlcik7XHJcbiAgICAgICAgICAgICAgICBpZiAocmVzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlcztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHJldHVybiAoLi4uYXJnczogYW55W10pID0+IHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jYWxsKHByb3AudG9TdHJpbmcoKSwgYXJncyk7XHJcbiAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgb25NZXNzYWdlKGU6IE1lc3NhZ2VFdmVudCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGRhdGEgPSBlLmRhdGE7XHJcbiAgICAgICAgY29uc3Qge3R5cGUsIHBheWxvYWR9ID0gZGF0YTtcclxuICAgICAgICBzd2l0Y2ggKHR5cGUpIHtcclxuICAgICAgICAgICAgY2FzZSBcIm1ldGhvZHNcIjpcclxuICAgICAgICAgICAgICAgIHRoaXMub25NZXRob2RzKHBheWxvYWQpO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgXCJyZXN1bHRcIjpcclxuICAgICAgICAgICAgICAgIGNvbnN0IHtpZCwgcmVzdWx0fSA9IHBheWxvYWQ7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBwcm9taXNlID0gdGhpcy5wcm9taXNlcy5nZXQoaWQpO1xyXG4gICAgICAgICAgICAgICAgaWYgKHByb21pc2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBwcm9taXNlLnJlc29sdmUocmVzdWx0KTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnByb21pc2VzLmRlbGV0ZShpZCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgY2FsbChtZXRob2Q6IHN0cmluZywgYXJnczogYW55W10pOiBQcm9taXNlPGFueT4ge1xyXG4gICAgICAgIGNvbnN0IG1ldGhvZHMgPSBhd2FpdCB0aGlzLm1ldGhvZHM7XHJcbiAgICAgICAgaWYgKCFtZXRob2RzLmluY2x1ZGVzKG1ldGhvZCkpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBNZXRob2QgJHttZXRob2R9IG5vdCBmb3VuZGApO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2U8YW55PigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGlkID0gTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsIDkpO1xyXG4gICAgICAgICAgICB0aGlzLndvcmtlci5wb3N0TWVzc2FnZSh7XHJcbiAgICAgICAgICAgICAgICB0eXBlOiBcImNhbGxcIixcclxuICAgICAgICAgICAgICAgIHBheWxvYWQ6IHtuYW1lOiBtZXRob2QsIGlkLCBhcmdzfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgdGhpcy5wcm9taXNlcy5zZXQoaWQsIHtyZXNvbHZlLCByZWplY3R9KTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
package/esm2020/tools/config.mjs
DELETED
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
export function isPrimitive(value) {
|
|
2
|
-
const type = typeof value;
|
|
3
|
-
return value == null || (type !== "object" && type !== "function");
|
|
4
|
-
}
|
|
5
|
-
export function isDate(value) {
|
|
6
|
-
return null !== value && !isNaN(value) && "undefined" !== typeof value.getDate;
|
|
7
|
-
}
|
|
8
|
-
function convertValue(value, type) {
|
|
9
|
-
switch (type) {
|
|
10
|
-
case "boolean":
|
|
11
|
-
value = typeof value == "string" ? value.toLowerCase() : value;
|
|
12
|
-
return (value == "no" || value == "false" || value == "0") ? false : !!value;
|
|
13
|
-
case "number":
|
|
14
|
-
const val = parseFloat(value);
|
|
15
|
-
return isNaN(val) ? 0 : val;
|
|
16
|
-
}
|
|
17
|
-
return value;
|
|
18
|
-
}
|
|
19
|
-
function getFromEnv(path, alternatives, value) {
|
|
20
|
-
const name = path.replace(/\.?([A-Z|0-9]+)/g, function (x, y) {
|
|
21
|
-
return "_" + y.toLowerCase();
|
|
22
|
-
}).replace(/\./gi, "_").replace(/^_/, "").toUpperCase();
|
|
23
|
-
const alts = Array.from(alternatives[name] || []);
|
|
24
|
-
alts.unshift(name);
|
|
25
|
-
for (const envName of alts) {
|
|
26
|
-
const envValue = process.env[envName];
|
|
27
|
-
if (typeof envValue !== "undefined") {
|
|
28
|
-
const val = convertValue(envValue, typeof value);
|
|
29
|
-
console.log(name, envName, val);
|
|
30
|
-
return convertValue(envValue, typeof value);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
console.log(name, value);
|
|
34
|
-
return value;
|
|
35
|
-
}
|
|
36
|
-
function createConfigRecursive(target, source, path, alternatives) {
|
|
37
|
-
if (isPrimitive(source) || isDate(source)) {
|
|
38
|
-
return getFromEnv(path, alternatives, source);
|
|
39
|
-
}
|
|
40
|
-
if (Array.isArray(source)) {
|
|
41
|
-
target = Array.isArray(target) ? Array.from(target) : [];
|
|
42
|
-
source.forEach((item, index) => {
|
|
43
|
-
if (target.length > index)
|
|
44
|
-
target[index] = createConfigRecursive(target[index], item, !path ? `${index}` : `${path}.${index}`, alternatives);
|
|
45
|
-
else
|
|
46
|
-
target.push(createConfigRecursive(null, item, !path ? `${index}` : `${path}.${index}`, alternatives));
|
|
47
|
-
});
|
|
48
|
-
return target;
|
|
49
|
-
}
|
|
50
|
-
return Object.keys(source).reduce((result, key) => {
|
|
51
|
-
result[key] = createConfigRecursive(result[key], source[key], !path ? `${key}` : `${path}.${key}`, alternatives);
|
|
52
|
-
return result;
|
|
53
|
-
}, Object.assign({}, target));
|
|
54
|
-
}
|
|
55
|
-
export function parseConfig(config) {
|
|
56
|
-
if (typeof config == "string") {
|
|
57
|
-
try {
|
|
58
|
-
config = JSON.parse(config);
|
|
59
|
-
}
|
|
60
|
-
catch (e) {
|
|
61
|
-
return {};
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
return config;
|
|
65
|
-
}
|
|
66
|
-
export function createConfig(config, alternatives) {
|
|
67
|
-
alternatives = alternatives || {};
|
|
68
|
-
console.log("Parsing config...");
|
|
69
|
-
return createConfigRecursive(null, parseConfig(config), "", alternatives);
|
|
70
|
-
}
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdG9vbHMvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxXQUFXLENBQUMsS0FBVTtJQUNsQyxNQUFNLElBQUksR0FBRyxPQUFPLEtBQUssQ0FBQztJQUMxQixPQUFPLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUSxJQUFJLElBQUksS0FBSyxVQUFVLENBQUMsQ0FBQztBQUN2RSxDQUFDO0FBRUQsTUFBTSxVQUFVLE1BQU0sQ0FBQyxLQUFVO0lBQzdCLE9BQU8sSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxXQUFXLEtBQUssT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDO0FBQ25GLENBQUM7QUFNRCxTQUFTLFlBQVksQ0FBQyxLQUFVLEVBQUUsSUFBWTtJQUMxQyxRQUFRLElBQUksRUFBRTtRQUNWLEtBQUssU0FBUztZQUNWLEtBQUssR0FBRyxPQUFPLEtBQUssSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1lBQy9ELE9BQU8sQ0FBQyxLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssSUFBSSxPQUFPLElBQUksS0FBSyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDakYsS0FBSyxRQUFRO1lBQ1QsTUFBTSxHQUFHLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzlCLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztLQUNuQztJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUM7QUFFRCxTQUFTLFVBQVUsQ0FBQyxJQUFZ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LEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLElBQUksR0FBRyxFQUFFLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDakgsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFDbEMsQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUMsTUFBVztJQUNuQyxJQUFJLE9BQU8sTUFBTSxJQUFJLFFBQVEsRUFBRTtRQUMzQixJQUFJO1lBQ0EsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDL0I7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNSLE9BQU8sRUFBRSxDQUFDO1NBQ2I7S0FDSjtJQUNELE9BQU8sTUFBTSxDQUFDO0FBQ2xCLENBQUM7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUFDLE1BQVcsRUFBRSxZQUF1QztJQUM3RSxZQUFZLEdBQUcsWUFBWSxJQUFJLEVBQUUsQ0FBQztJQUNsQyxPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDakMsT0FBTyxxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsRUFBRSxZQUFZLENBQUMsQ0FBQztBQUM5RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGlzUHJpbWl0aXZlKHZhbHVlOiBhbnkpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IHR5cGUgPSB0eXBlb2YgdmFsdWU7XHJcbiAgICByZXR1cm4gdmFsdWUgPT0gbnVsbCB8fCAodHlwZSAhPT0gXCJvYmplY3RcIiAmJiB0eXBlICE9PSBcImZ1bmN0aW9uXCIpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gaXNEYXRlKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBEYXRlIHtcclxuICAgIHJldHVybiBudWxsICE9PSB2YWx1ZSAmJiAhaXNOYU4odmFsdWUpICYmIFwidW5kZWZpbmVkXCIgIT09IHR5cGVvZiB2YWx1ZS5nZXREYXRlO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElFbnZpcm9ubWVudEFsdGVybmF0aXZlcyB7XHJcbiAgICBbbmFtZTogc3RyaW5nXTogc3RyaW5nW11cclxufVxyXG5cclxuZnVuY3Rpb24gY29udmVydFZhbHVlKHZhbHVlOiBhbnksIHR5cGU6IHN0cmluZyk6IGFueSB7XHJcbiAgICBzd2l0Y2ggKHR5cGUpIHtcclxuICAgICAgICBjYXNlIFwiYm9vbGVhblwiOlxyXG4gICAgICAgICAgICB2YWx1ZSA9IHR5cGVvZiB2YWx1ZSA9PSBcInN0cmluZ1wiID8gdmFsdWUudG9Mb3dlckNhc2UoKSA6IHZhbHVlO1xyXG4gICAgICAgICAgICByZXR1cm4gKHZhbHVlID09IFwibm9cIiB8fCB2YWx1ZSA9PSBcImZhbHNlXCIgfHwgdmFsdWUgPT0gXCIwXCIpID8gZmFsc2UgOiAhIXZhbHVlO1xyXG4gICAgICAgIGNhc2UgXCJudW1iZXJcIjpcclxuICAgICAgICAgICAgY29uc3QgdmFsID0gcGFyc2VGbG9hdCh2YWx1ZSk7XHJcbiAgICAgICAgICAgIHJldHVybiBpc05hTih2YWwpID8gMCA6IHZhbDtcclxuICAgIH1cclxuICAgIHJldHVybiB2YWx1ZTtcclxufVxyXG5cclxuZnVuY3Rpb24gZ2V0RnJvbUVudihwYXRoOiBzdHJpbmcsIGFsdGVybmF0aXZlczogSUVudmlyb25tZW50QWx0ZXJuYXRpdmVzLCB2YWx1ZTogYW55KTogYW55IHtcclxuICAgIGNvbnN0IG5hbWUgPSBwYXRoLnJlcGxhY2UoL1xcLj8oW0EtWnwwLTldKykvZywgZnVuY3Rpb24gKHgseSl7XHJcbiAgICAgICAgcmV0dXJuIFwiX1wiICsgeS50b0xvd2VyQ2FzZSgpXHJcbiAgICB9KS5yZXBsYWNlKC9cXC4vZ2ksIFwiX1wiKS5yZXBsYWNlKC9eXy8sIFwiXCIpLnRvVXBwZXJDYXNlKCk7XHJcbiAgICBjb25zdCBhbHRzID0gQXJyYXkuZnJvbShhbHRlcm5hdGl2ZXNbbmFtZV0gfHwgW10pO1xyXG4gICAgYWx0cy51bnNoaWZ0KG5hbWUpO1xyXG4gICAgZm9yIChjb25zdCBlbnZOYW1lIG9mIGFsdHMpIHtcclxuICAgICAgICBjb25zdCBlbnZWYWx1ZSA9IHByb2Nlc3MuZW52W2Vudk5hbWVdO1xyXG4gICAgICAgIGlmICh0eXBlb2YgZW52VmFsdWUgIT09IFwidW5kZWZpbmVkXCIpIHtcclxuICAgICAgICAgICAgY29uc3QgdmFsID0gY29udmVydFZhbHVlKGVudlZhbHVlLCB0eXBlb2YgdmFsdWUpO1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhuYW1lLCBlbnZOYW1lLCB2YWwpO1xyXG4gICAgICAgICAgICByZXR1cm4gY29udmVydFZhbHVlKGVudlZhbHVlLCB0eXBlb2YgdmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGNvbnNvbGUubG9nKG5hbWUsIHZhbHVlKTtcclxuICAgIHJldHVybiB2YWx1ZTtcclxufVxyXG5cclxuZnVuY3Rpb24gY3JlYXRlQ29uZmlnUmVjdXJzaXZlKHRhcmdldDogYW55LCBzb3VyY2U6IGFueSwgcGF0aDogc3RyaW5nLCBhbHRlcm5hdGl2ZXM6IElFbnZpcm9ubWVudEFsdGVybmF0aXZlcyk6IGFueSB7XHJcbiAgICBpZiAoaXNQcmltaXRpdmUoc291cmNlKSB8fCBpc0RhdGUoc291cmNlKSkge1xyXG4gICAgICAgIHJldHVybiBnZXRGcm9tRW52KHBhdGgsIGFsdGVybmF0aXZlcywgc291cmNlKTtcclxuICAgIH1cclxuICAgIGlmIChBcnJheS5pc0FycmF5KHNvdXJjZSkpIHtcclxuICAgICAgICB0YXJnZXQgPSBBcnJheS5pc0FycmF5KHRhcmdldCkgPyBBcnJheS5mcm9tKHRhcmdldCkgOiBbXTtcclxuICAgICAgICBzb3VyY2UuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcclxuICAgICAgICAgICAgaWYgKHRhcmdldC5sZW5ndGggPiBpbmRleClcclxuICAgICAgICAgICAgICAgIHRhcmdldFtpbmRleF0gPSBjcmVhdGVDb25maWdSZWN1cnNpdmUodGFyZ2V0W2luZGV4XSwgaXRlbSwgIXBhdGggPyBgJHtpbmRleH1gIDogYCR7cGF0aH0uJHtpbmRleH1gLCBhbHRlcm5hdGl2ZXMpO1xyXG4gICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICB0YXJnZXQucHVzaChjcmVhdGVDb25maWdSZWN1cnNpdmUobnVsbCwgaXRlbSwgIXBhdGggPyBgJHtpbmRleH1gIDogYCR7cGF0aH0uJHtpbmRleH1gLCBhbHRlcm5hdGl2ZXMpKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gdGFyZ2V0O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKHNvdXJjZSkucmVkdWNlKChyZXN1bHQsIGtleSkgPT4ge1xyXG4gICAgICAgIHJlc3VsdFtrZXldID0gY3JlYXRlQ29uZmlnUmVjdXJzaXZlKHJlc3VsdFtrZXldLCBzb3VyY2Vba2V5XSwgIXBhdGggPyBgJHtrZXl9YCA6IGAke3BhdGh9LiR7a2V5fWAsIGFsdGVybmF0aXZlcyk7XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIH0sIE9iamVjdC5hc3NpZ24oe30sIHRhcmdldCkpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VDb25maWcoY29uZmlnOiBhbnkpOiBhbnkge1xyXG4gICAgaWYgKHR5cGVvZiBjb25maWcgPT0gXCJzdHJpbmdcIikge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGNvbmZpZyA9IEpTT04ucGFyc2UoY29uZmlnKTtcclxuICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7fTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gY29uZmlnO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQ29uZmlnKGNvbmZpZzogYW55LCBhbHRlcm5hdGl2ZXM/OiBJRW52aXJvbm1lbnRBbHRlcm5hdGl2ZXMpOiBhbnkge1xyXG4gICAgYWx0ZXJuYXRpdmVzID0gYWx0ZXJuYXRpdmVzIHx8IHt9O1xyXG4gICAgY29uc29sZS5sb2coXCJQYXJzaW5nIGNvbmZpZy4uLlwiKTtcclxuICAgIHJldHVybiBjcmVhdGVDb25maWdSZWN1cnNpdmUobnVsbCwgcGFyc2VDb25maWcoY29uZmlnKSwgXCJcIiwgYWx0ZXJuYXRpdmVzKTtcclxufVxyXG4iXX0=
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
function isPrimitive(value) {
|
|
2
|
-
const type = typeof value;
|
|
3
|
-
return value == null || (type !== "object" && type !== "function");
|
|
4
|
-
}
|
|
5
|
-
function isDate(value) {
|
|
6
|
-
return null !== value && !isNaN(value) && "undefined" !== typeof value.getDate;
|
|
7
|
-
}
|
|
8
|
-
function convertValue(value, type) {
|
|
9
|
-
switch (type) {
|
|
10
|
-
case "boolean":
|
|
11
|
-
value = typeof value == "string" ? value.toLowerCase() : value;
|
|
12
|
-
return (value == "no" || value == "false" || value == "0") ? false : !!value;
|
|
13
|
-
case "number":
|
|
14
|
-
const val = parseFloat(value);
|
|
15
|
-
return isNaN(val) ? 0 : val;
|
|
16
|
-
}
|
|
17
|
-
return value;
|
|
18
|
-
}
|
|
19
|
-
function getFromEnv(path, alternatives, value) {
|
|
20
|
-
const name = path.replace(/\.?([A-Z|0-9]+)/g, function (x, y) {
|
|
21
|
-
return "_" + y.toLowerCase();
|
|
22
|
-
}).replace(/\./gi, "_").replace(/^_/, "").toUpperCase();
|
|
23
|
-
const alts = Array.from(alternatives[name] || []);
|
|
24
|
-
alts.unshift(name);
|
|
25
|
-
for (const envName of alts) {
|
|
26
|
-
const envValue = process.env[envName];
|
|
27
|
-
if (typeof envValue !== "undefined") {
|
|
28
|
-
const val = convertValue(envValue, typeof value);
|
|
29
|
-
console.log(name, envName, val);
|
|
30
|
-
return convertValue(envValue, typeof value);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
console.log(name, value);
|
|
34
|
-
return value;
|
|
35
|
-
}
|
|
36
|
-
function createConfigRecursive(target, source, path, alternatives) {
|
|
37
|
-
if (isPrimitive(source) || isDate(source)) {
|
|
38
|
-
return getFromEnv(path, alternatives, source);
|
|
39
|
-
}
|
|
40
|
-
if (Array.isArray(source)) {
|
|
41
|
-
target = Array.isArray(target) ? Array.from(target) : [];
|
|
42
|
-
source.forEach((item, index) => {
|
|
43
|
-
if (target.length > index)
|
|
44
|
-
target[index] = createConfigRecursive(target[index], item, !path ? `${index}` : `${path}.${index}`, alternatives);
|
|
45
|
-
else
|
|
46
|
-
target.push(createConfigRecursive(null, item, !path ? `${index}` : `${path}.${index}`, alternatives));
|
|
47
|
-
});
|
|
48
|
-
return target;
|
|
49
|
-
}
|
|
50
|
-
return Object.keys(source).reduce((result, key) => {
|
|
51
|
-
result[key] = createConfigRecursive(result[key], source[key], !path ? `${key}` : `${path}.${key}`, alternatives);
|
|
52
|
-
return result;
|
|
53
|
-
}, Object.assign({}, target));
|
|
54
|
-
}
|
|
55
|
-
function parseConfig(config) {
|
|
56
|
-
if (typeof config == "string") {
|
|
57
|
-
try {
|
|
58
|
-
config = JSON.parse(config);
|
|
59
|
-
}
|
|
60
|
-
catch (e) {
|
|
61
|
-
return {};
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
return config;
|
|
65
|
-
}
|
|
66
|
-
function createConfig(config, alternatives) {
|
|
67
|
-
alternatives = alternatives || {};
|
|
68
|
-
console.log("Parsing config...");
|
|
69
|
-
return createConfigRecursive(null, parseConfig(config), "", alternatives);
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
/**
|
|
73
|
-
* Generated bundle index. Do not edit.
|
|
74
|
-
*/
|
|
75
|
-
|
|
76
|
-
export { createConfig };
|
|
77
|
-
//# sourceMappingURL=stemy-ngx-utils-tools.mjs.map
|