bx-rest 0.3.2 → 0.3.3
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/consts/part-name-methods.d.ts +6 -0
- package/esm2022/consts/part-name-methods.mjs +7 -1
- package/esm2022/map/sonet_group.mjs +1 -1
- package/esm2022/request/im/chat.mjs +33 -0
- package/esm2022/request/im.mjs +17 -0
- package/esm2022/request-navvy/im/chat.mjs +22 -0
- package/esm2022/request-navvy/im.mjs +17 -0
- package/esm2022/request-navvy/task/commentitem.mjs +4 -8
- package/esm2022/request-navvy/tasks/task.mjs +2 -5
- package/esm2022/request-navvy/user.mjs +7 -1
- package/esm2022/rest.mjs +25 -21
- package/esm2022/services/http/base/base.mjs +4 -6
- package/esm2022/services/http/http.mjs +5 -8
- package/esm2022/services/navvy.mjs +2 -4
- package/esm2022/services/vanilla/localStorage.mjs +5 -5
- package/esm2022/services/vanilla//321/201ookies.mjs +3 -4
- package/esm2022/typification/rest/api-lib.mjs +1 -1
- package/esm2022/typification/rest/im/chat/add.mjs +2 -0
- package/fesm2022/bx-rest.mjs +126 -350
- package/fesm2022/bx-rest.mjs.map +1 -1
- package/package.json +1 -1
- package/request/im/chat.d.ts +19 -0
- package/request/im.d.ts +8 -0
- package/request-navvy/im/chat.d.ts +11 -0
- package/request-navvy/im.d.ts +8 -0
- package/request-navvy/task/commentitem.d.ts +1 -3
- package/rest.d.ts +6 -2
- package/services/http/base/base.d.ts +1 -3
- package/services/http/http.d.ts +1 -2
- package/typification/rest/im/chat/add.d.ts +12 -0
- package/consts/part-name-metods.d.ts +0 -89
- package/esm2022/consts/part-name-metods.mjs +0 -90
- package/esm2022/functions/serializeJavascript.mjs +0 -200
- package/esm2022/request/bx-rest.module.mjs +0 -28
- package/esm2022/services/snack-bar/snack-bar.service.mjs +0 -42
- package/esm2022/services/snack-bar/toast-message/toast-message.component.mjs +0 -31
- package/esm2022/services/vanilla/JSON.mjs +0 -20
- package/functions/serializeJavascript.d.ts +0 -2
- package/request/bx-rest.module.d.ts +0 -8
- package/services/snack-bar/snack-bar.service.d.ts +0 -12
- package/services/snack-bar/toast-message/toast-message.component.d.ts +0 -16
- package/services/vanilla/JSON.d.ts +0 -7
package/package.json
CHANGED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { iBXRestParamImChatAdd } from '../../typification/rest/im/chat/add';
|
|
2
|
+
import { HttpBXServices } from '../../services/http/HttpBX';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class BXRestImChat {
|
|
5
|
+
private http;
|
|
6
|
+
url: {
|
|
7
|
+
add: string[];
|
|
8
|
+
updateTitle: string[];
|
|
9
|
+
updateColor: string[];
|
|
10
|
+
updateAvatar: string[];
|
|
11
|
+
setOwner: string[];
|
|
12
|
+
get: string[];
|
|
13
|
+
mute: string[];
|
|
14
|
+
};
|
|
15
|
+
constructor(http: HttpBXServices);
|
|
16
|
+
add(param: iBXRestParamImChatAdd): import("rxjs").Observable<import("../../typification/rest/base/answer").iBXRestAnswer<number> | undefined>;
|
|
17
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<BXRestImChat, never>;
|
|
18
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<BXRestImChat>;
|
|
19
|
+
}
|
package/request/im.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { BXRestImChat } from './im/chat';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class BXRestIm {
|
|
4
|
+
chat: BXRestImChat;
|
|
5
|
+
constructor(chat: BXRestImChat);
|
|
6
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<BXRestIm, never>;
|
|
7
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<BXRestIm>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { iBXRestParamImChatAdd } from '../../typification/rest/im/chat/add';
|
|
2
|
+
import { BXRestImChat } from '../../request/im/chat';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class BXRestNavvyImChat {
|
|
5
|
+
private BXRestImChat;
|
|
6
|
+
private Navvy;
|
|
7
|
+
constructor(BXRestImChat: BXRestImChat);
|
|
8
|
+
add(param: iBXRestParamImChatAdd): import("../../services/Navvy/NavvySimple").NavvySimple<BXRestImChat, null, number, unknown>;
|
|
9
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<BXRestNavvyImChat, never>;
|
|
10
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<BXRestNavvyImChat>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { BXRestNavvyImChat } from './im/chat';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class BXRestNavvyIm {
|
|
4
|
+
chat: BXRestNavvyImChat;
|
|
5
|
+
constructor(chat: BXRestNavvyImChat);
|
|
6
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<BXRestNavvyIm, never>;
|
|
7
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<BXRestNavvyIm>;
|
|
8
|
+
}
|
|
@@ -6,14 +6,12 @@ import { iBXRestTaskCommentItemUpdate } from '../../typification/rest/task/comme
|
|
|
6
6
|
import { iBXRestCommentTaskAdd } from '../../typification/rest/task/commentitem/add';
|
|
7
7
|
import { BXRestTaskCommentItemGetList } from '../../typification/rest/task/commentitem/getlist';
|
|
8
8
|
import { BXRestTaskCommentItemDelete } from '../../typification/rest/task/commentitem/delete';
|
|
9
|
-
import SnackBarService from '../../services/snack-bar/snack-bar.service';
|
|
10
9
|
import * as i0 from "@angular/core";
|
|
11
10
|
export declare class BXRestNavvyTaskCommentItem {
|
|
12
11
|
private BXRestTaskCommentItem;
|
|
13
12
|
private mapTaskCommentItem;
|
|
14
|
-
private snackBar;
|
|
15
13
|
protected Navvy: Navvy<BXRestTaskCommentItem, BXRestMapTaskCommentItem>;
|
|
16
|
-
constructor(BXRestTaskCommentItem: BXRestTaskCommentItem, mapTaskCommentItem: BXRestMapTaskCommentItem
|
|
14
|
+
constructor(BXRestTaskCommentItem: BXRestTaskCommentItem, mapTaskCommentItem: BXRestMapTaskCommentItem);
|
|
17
15
|
add(param: iBXRestCommentTaskAdd): import("../../services/Navvy/NavvySimple").NavvySimple<BXRestTaskCommentItem, BXRestMapTaskCommentItem, number, unknown>;
|
|
18
16
|
update(param: iBXRestTaskCommentItemUpdate): import("../../services/Navvy/NavvySimple").NavvySimple<BXRestTaskCommentItem, BXRestMapTaskCommentItem, boolean, unknown>;
|
|
19
17
|
get(param: iBXRestParamTaskCommentItemGet): import("../../services/Navvy/NavvySimple").NavvySimple<BXRestTaskCommentItem, BXRestMapTaskCommentItem, import("../../typification/rest/task/commentitem/commentitem").iBXRestTaskCommentHtml, import("../../typification/rest/task/commentitem/commentitem").iBXRestTaskComment | undefined>;
|
package/rest.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ import { BXRestSonetGroup } from './request/sonet_group';
|
|
|
10
10
|
import { BXRestTask } from './request/task';
|
|
11
11
|
import { BXRestServer } from './request/server';
|
|
12
12
|
import { BXRestDepartment } from './request/departments';
|
|
13
|
+
import { BXRestIm } from './request/im';
|
|
13
14
|
import { BXRestNavvyLists } from './request-navvy/lists';
|
|
14
15
|
import { BXRestNavvyTasks } from './request-navvy/tasks';
|
|
15
16
|
import { BXRestNavvyUser } from './request-navvy/user';
|
|
@@ -21,6 +22,7 @@ import { BXRestNavvySonetGroup } from './request-navvy/sonet_group';
|
|
|
21
22
|
import { BXRestNavvyTask } from './request-navvy/task';
|
|
22
23
|
import { BXRestNavvyServer } from './request-navvy/server';
|
|
23
24
|
import { BXRestNavvyDepartment } from './request-navvy/departments';
|
|
25
|
+
import { BXRestNavvyIm } from './request-navvy/im';
|
|
24
26
|
import * as i0 from "@angular/core";
|
|
25
27
|
export declare class BXRest {
|
|
26
28
|
user: BXRestUser;
|
|
@@ -34,7 +36,8 @@ export declare class BXRest {
|
|
|
34
36
|
sonet_group: BXRestSonetGroup;
|
|
35
37
|
server: BXRestServer;
|
|
36
38
|
department: BXRestDepartment;
|
|
37
|
-
|
|
39
|
+
im: BXRestIm;
|
|
40
|
+
constructor(user: BXRestUser, lists: BXRestLists, task: BXRestTask, tasks: BXRestTasks, disk: BXRestDisk, bizproc: BXRestBizproc, log: BXRestLog, calendar: BXRestCalendar, sonet_group: BXRestSonetGroup, server: BXRestServer, department: BXRestDepartment, im: BXRestIm);
|
|
38
41
|
static ɵfac: i0.ɵɵFactoryDeclaration<BXRest, never>;
|
|
39
42
|
static ɵprov: i0.ɵɵInjectableDeclaration<BXRest>;
|
|
40
43
|
}
|
|
@@ -50,7 +53,8 @@ export declare class BXRestNavvy {
|
|
|
50
53
|
sonet_group: BXRestNavvySonetGroup;
|
|
51
54
|
server: BXRestNavvyServer;
|
|
52
55
|
department: BXRestNavvyDepartment;
|
|
53
|
-
|
|
56
|
+
im: BXRestNavvyIm;
|
|
57
|
+
constructor(user: BXRestNavvyUser, lists: BXRestNavvyLists, task: BXRestNavvyTask, tasks: BXRestNavvyTasks, disk: BXRestNavvyDisk, bizproc: BXRestNavvyBizproc, log: BXRestNavvyLog, calendar: BXRestNavvyCalendar, sonet_group: BXRestNavvySonetGroup, server: BXRestNavvyServer, department: BXRestNavvyDepartment, im: BXRestNavvyIm);
|
|
54
58
|
static ɵfac: i0.ɵɵFactoryDeclaration<BXRestNavvy, never>;
|
|
55
59
|
static ɵprov: i0.ɵɵInjectableDeclaration<BXRestNavvy>;
|
|
56
60
|
}
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
import { iHttpParamSettings } from '../../../typification/rest/settings';
|
|
2
2
|
import { HttpClient } from '@angular/common/http';
|
|
3
|
-
import SnackBarService from '../../../services/snack-bar/snack-bar.service';
|
|
4
3
|
import { Observable } from 'rxjs';
|
|
5
4
|
import { HttpData } from '../HttpData';
|
|
6
5
|
import * as i0 from "@angular/core";
|
|
7
6
|
export declare abstract class BaseHttp extends HttpData {
|
|
8
7
|
http: HttpClient;
|
|
9
|
-
|
|
10
|
-
protected constructor(http: HttpClient, snackBar: SnackBarService);
|
|
8
|
+
protected constructor(http: HttpClient);
|
|
11
9
|
abstract httpGet<T>(url: string, params: any, settings: iHttpParamSettings): Observable<T | undefined>;
|
|
12
10
|
abstract httpPost<T>(url: string, params: any, settings: iHttpParamSettings): Observable<T | undefined>;
|
|
13
11
|
handleError<T>(result?: T): (error: Error) => Observable<T>;
|
package/services/http/http.d.ts
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { Observable } from 'rxjs';
|
|
2
2
|
import { HttpClient } from '@angular/common/http';
|
|
3
|
-
import SnackBarService from '../../services/snack-bar/snack-bar.service';
|
|
4
3
|
import SessionKeyServices from '../../services/http/sessionKey';
|
|
5
4
|
import { iHttpParamSettings } from '../../typification/rest/settings';
|
|
6
5
|
import { BaseHttpServices } from './base/http';
|
|
7
6
|
import * as i0 from "@angular/core";
|
|
8
7
|
export declare class HttpServices extends BaseHttpServices {
|
|
9
8
|
session: SessionKeyServices;
|
|
10
|
-
constructor(http: HttpClient,
|
|
9
|
+
constructor(http: HttpClient, session: SessionKeyServices);
|
|
11
10
|
httpPost<T>(url: string, params?: any, settings?: iHttpParamSettings): Observable<T | undefined>;
|
|
12
11
|
httpGet<T>(url: string, params?: any, settings?: iHttpParamSettings): Observable<T | undefined>;
|
|
13
12
|
static ɵfac: i0.ɵɵFactoryDeclaration<HttpServices, never>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export interface iBXRestParamImChatAdd {
|
|
2
|
+
TYPE?: 'OPEN' | 'CHAT';
|
|
3
|
+
TITLE?: string;
|
|
4
|
+
DESCRIPTION?: string;
|
|
5
|
+
COLOR?: string;
|
|
6
|
+
MESSAGE?: string;
|
|
7
|
+
USERS: number[];
|
|
8
|
+
AVATAR?: string;
|
|
9
|
+
ENTITY_TYPE?: string;
|
|
10
|
+
ENTITY_ID?: number;
|
|
11
|
+
OWNER_ID?: number;
|
|
12
|
+
}
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
export declare const $get = "get";
|
|
2
|
-
export declare const $add = "add";
|
|
3
|
-
export declare const $set = "set";
|
|
4
|
-
export declare const $event = "event";
|
|
5
|
-
export declare const $update = "update";
|
|
6
|
-
export declare const $user = "user";
|
|
7
|
-
export declare const $task = "task";
|
|
8
|
-
export declare const $calendar = "calendar";
|
|
9
|
-
export declare const $meeting = "meeting";
|
|
10
|
-
export declare const $list = "list";
|
|
11
|
-
export declare const $search = "search";
|
|
12
|
-
export declare const $accessibility = "accessibility";
|
|
13
|
-
export declare const $delete = "delete";
|
|
14
|
-
export declare const $nearest = "nearest";
|
|
15
|
-
export declare const $params = "params";
|
|
16
|
-
export declare const $status = "status";
|
|
17
|
-
export declare const $resource = "resource";
|
|
18
|
-
export declare const $booking = "booking";
|
|
19
|
-
export declare const $section = "section";
|
|
20
|
-
export declare const $settings = "settings";
|
|
21
|
-
export declare const $tasks = "tasks";
|
|
22
|
-
export declare const $elapseditem = "elapseditem";
|
|
23
|
-
export declare const $getlist = "getlist";
|
|
24
|
-
export declare const $approve = "approve";
|
|
25
|
-
export declare const $complete = "complete";
|
|
26
|
-
export declare const $counters = "counters";
|
|
27
|
-
export declare const $defer = "defer";
|
|
28
|
-
export declare const $delegate = "delegate";
|
|
29
|
-
export declare const $disapprove = "disapprove";
|
|
30
|
-
export declare const $favorite = "favorite";
|
|
31
|
-
export declare const $files = "files";
|
|
32
|
-
export declare const $file = "file";
|
|
33
|
-
export declare const $attach = "attach";
|
|
34
|
-
export declare const $field = "field";
|
|
35
|
-
export declare const $getFields: string;
|
|
36
|
-
export declare const $getaccess = "getaccess";
|
|
37
|
-
export declare const $history = "history";
|
|
38
|
-
export declare const $pause = "pause";
|
|
39
|
-
export declare const $renew = "renew";
|
|
40
|
-
export declare const $start = "start";
|
|
41
|
-
export declare const $result = "result";
|
|
42
|
-
export declare const $planner = "planner";
|
|
43
|
-
export declare const $disk = "disk";
|
|
44
|
-
export declare const $rename = "rename";
|
|
45
|
-
export declare const $markdeleted = "markdeleted";
|
|
46
|
-
export declare const $restore = "restore";
|
|
47
|
-
export declare const $folder = "folder";
|
|
48
|
-
export declare const $getchildren = "getchildren";
|
|
49
|
-
export declare const $copyto = "copyto";
|
|
50
|
-
export declare const $moveto = "moveto";
|
|
51
|
-
export declare const $uploadfile = "uploadfile";
|
|
52
|
-
export declare const $storage = "storage";
|
|
53
|
-
export declare const $getTypes = "getTypes";
|
|
54
|
-
export declare const $stages = "stages";
|
|
55
|
-
export declare const $getmanifest = "getmanifest";
|
|
56
|
-
export declare const $isactionallowed = "isactionallowed";
|
|
57
|
-
export declare const $commentitem = "commentitem";
|
|
58
|
-
export declare const $department = "department";
|
|
59
|
-
export declare const $sonet_group = "sonet_group";
|
|
60
|
-
export declare const $create = "create";
|
|
61
|
-
export declare const $feature = "feature";
|
|
62
|
-
export declare const $access = "access";
|
|
63
|
-
export declare const $request = "request";
|
|
64
|
-
export declare const $socialnetwork = "socialnetwork";
|
|
65
|
-
export declare const $api = "api";
|
|
66
|
-
export declare const $workgroup = "workgroup";
|
|
67
|
-
export declare const $log = "log";
|
|
68
|
-
export declare const $blogpost = "blogpost";
|
|
69
|
-
export declare const $lists = "lists";
|
|
70
|
-
export declare const $iblock = "iblock";
|
|
71
|
-
export declare const $type = "type";
|
|
72
|
-
export declare const $id = "id";
|
|
73
|
-
export declare const $element = "element";
|
|
74
|
-
export declare const $url = "url";
|
|
75
|
-
export declare const $bizproc = "bizproc";
|
|
76
|
-
export declare const $workflow = "workflow";
|
|
77
|
-
export declare const $instances = "instances";
|
|
78
|
-
export declare const $terminate = "$terminate";
|
|
79
|
-
export declare const $kill = "kill";
|
|
80
|
-
export declare const $template = "template";
|
|
81
|
-
export declare const $activity = "activity";
|
|
82
|
-
export declare const $robot = "robot";
|
|
83
|
-
export declare const $send = "send";
|
|
84
|
-
export declare const $share = "share";
|
|
85
|
-
export declare const $blogcomment = "blogcomment";
|
|
86
|
-
export declare const $server = "server";
|
|
87
|
-
export declare const $time = "time";
|
|
88
|
-
export declare const $chat = "chat";
|
|
89
|
-
export declare const $message = "message";
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
export const $get = 'get';
|
|
2
|
-
export const $add = 'add';
|
|
3
|
-
export const $set = 'set';
|
|
4
|
-
export const $event = 'event';
|
|
5
|
-
export const $update = 'update';
|
|
6
|
-
export const $user = 'user';
|
|
7
|
-
export const $task = 'task';
|
|
8
|
-
export const $calendar = 'calendar';
|
|
9
|
-
export const $meeting = 'meeting';
|
|
10
|
-
export const $list = 'list';
|
|
11
|
-
export const $search = 'search';
|
|
12
|
-
export const $accessibility = 'accessibility';
|
|
13
|
-
export const $delete = 'delete';
|
|
14
|
-
export const $nearest = 'nearest';
|
|
15
|
-
export const $params = 'params';
|
|
16
|
-
export const $status = 'status';
|
|
17
|
-
export const $resource = 'resource';
|
|
18
|
-
export const $booking = 'booking';
|
|
19
|
-
export const $section = 'section';
|
|
20
|
-
export const $settings = 'settings';
|
|
21
|
-
export const $tasks = 'tasks';
|
|
22
|
-
export const $elapseditem = 'elapseditem';
|
|
23
|
-
export const $getlist = 'getlist';
|
|
24
|
-
export const $approve = 'approve';
|
|
25
|
-
export const $complete = 'complete';
|
|
26
|
-
export const $counters = 'counters';
|
|
27
|
-
export const $defer = 'defer';
|
|
28
|
-
export const $delegate = 'delegate';
|
|
29
|
-
export const $disapprove = 'disapprove';
|
|
30
|
-
export const $favorite = 'favorite';
|
|
31
|
-
export const $files = 'files';
|
|
32
|
-
export const $file = 'file';
|
|
33
|
-
export const $attach = 'attach';
|
|
34
|
-
export const $field = 'field';
|
|
35
|
-
export const $getFields = 'get' + $field + 's';
|
|
36
|
-
export const $getaccess = 'getaccess';
|
|
37
|
-
export const $history = 'history';
|
|
38
|
-
export const $pause = 'pause';
|
|
39
|
-
export const $renew = 'renew';
|
|
40
|
-
export const $start = 'start';
|
|
41
|
-
export const $result = 'result';
|
|
42
|
-
export const $planner = 'planner';
|
|
43
|
-
export const $disk = 'disk';
|
|
44
|
-
export const $rename = 'rename';
|
|
45
|
-
export const $markdeleted = 'markdeleted';
|
|
46
|
-
export const $restore = 'restore';
|
|
47
|
-
export const $folder = 'folder';
|
|
48
|
-
export const $getchildren = 'getchildren';
|
|
49
|
-
export const $copyto = 'copyto';
|
|
50
|
-
export const $moveto = 'moveto';
|
|
51
|
-
export const $uploadfile = 'uploadfile';
|
|
52
|
-
export const $storage = 'storage';
|
|
53
|
-
export const $getTypes = 'getTypes';
|
|
54
|
-
export const $stages = 'stages';
|
|
55
|
-
export const $getmanifest = 'getmanifest';
|
|
56
|
-
export const $isactionallowed = 'isactionallowed';
|
|
57
|
-
export const $commentitem = 'commentitem';
|
|
58
|
-
export const $department = 'department';
|
|
59
|
-
export const $sonet_group = 'sonet_group';
|
|
60
|
-
export const $create = 'create';
|
|
61
|
-
export const $feature = 'feature';
|
|
62
|
-
export const $access = 'access';
|
|
63
|
-
export const $request = 'request';
|
|
64
|
-
export const $socialnetwork = 'socialnetwork';
|
|
65
|
-
export const $api = 'api';
|
|
66
|
-
export const $workgroup = 'workgroup';
|
|
67
|
-
export const $log = 'log';
|
|
68
|
-
export const $blogpost = 'blogpost';
|
|
69
|
-
export const $lists = 'lists';
|
|
70
|
-
export const $iblock = 'iblock';
|
|
71
|
-
export const $type = 'type';
|
|
72
|
-
export const $id = 'id';
|
|
73
|
-
export const $element = 'element';
|
|
74
|
-
export const $url = 'url';
|
|
75
|
-
export const $bizproc = 'bizproc';
|
|
76
|
-
export const $workflow = 'workflow';
|
|
77
|
-
export const $instances = 'instances';
|
|
78
|
-
export const $terminate = '$terminate';
|
|
79
|
-
export const $kill = 'kill';
|
|
80
|
-
export const $template = 'template';
|
|
81
|
-
export const $activity = 'activity';
|
|
82
|
-
export const $robot = 'robot';
|
|
83
|
-
export const $send = 'send';
|
|
84
|
-
export const $share = 'share';
|
|
85
|
-
export const $blogcomment = 'blogcomment';
|
|
86
|
-
export const $server = 'server';
|
|
87
|
-
export const $time = 'time';
|
|
88
|
-
export const $chat = 'chat';
|
|
89
|
-
export const $message = 'message';
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFydC1uYW1lLW1ldG9kcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL2NvbnN0cy9wYXJ0LW5hbWUtbWV0b2RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxLQUFLLENBQUE7QUFDekIsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQTtBQUN6QixNQUFNLENBQUMsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFBO0FBQ3pCLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUE7QUFDN0IsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQTtBQUMvQixNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFBO0FBQzNCLE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUE7QUFDM0IsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQTtBQUNuQyxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFBO0FBQ2pDLE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUE7QUFDM0IsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQTtBQUMvQixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsZUFBZSxDQUFBO0FBQzdDLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUE7QUFDL0IsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQTtBQUNqQyxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFBO0FBQy9CLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUE7QUFDL0IsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQTtBQUNuQyxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFBO0FBQ2pDLE1B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TSxNQUFNLEdBQUcsT0FBTyxDQUFBO0FBQzdCLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxhQUFhLENBQUE7QUFDekMsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQTtBQUMvQixNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFBO0FBQzNCLE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUE7QUFDM0IsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCAkZ2V0ID0gJ2dldCdcclxuZXhwb3J0IGNvbnN0ICRhZGQgPSAnYWRkJ1xyXG5leHBvcnQgY29uc3QgJHNldCA9ICdzZXQnXHJcbmV4cG9ydCBjb25zdCAkZXZlbnQgPSAnZXZlbnQnXHJcbmV4cG9ydCBjb25zdCAkdXBkYXRlID0gJ3VwZGF0ZSdcclxuZXhwb3J0IGNvbnN0ICR1c2VyID0gJ3VzZXInXHJcbmV4cG9ydCBjb25zdCAkdGFzayA9ICd0YXNrJ1xyXG5leHBvcnQgY29uc3QgJGNhbGVuZGFyID0gJ2NhbGVuZGFyJ1xyXG5leHBvcnQgY29uc3QgJG1lZXRpbmcgPSAnbWVldGluZydcclxuZXhwb3J0IGNvbnN0ICRsaXN0ID0gJ2xpc3QnXHJcbmV4cG9ydCBjb25zdCAkc2VhcmNoID0gJ3NlYXJjaCdcclxuZXhwb3J0IGNvbnN0ICRhY2Nlc3NpYmlsaXR5ID0gJ2FjY2Vzc2liaWxpdHknXHJcbmV4cG9ydCBjb25zdCAkZGVsZXRlID0gJ2RlbGV0ZSdcclxuZXhwb3J0IGNvbnN0ICRuZWFyZXN0ID0gJ25lYXJlc3QnXHJcbmV4cG9ydCBjb25zdCAkcGFyYW1zID0gJ3BhcmFtcydcclxuZXhwb3J0IGNvbnN0ICRzdGF0dXMgPSAnc3RhdHVzJ1xyXG5leHBvcnQgY29uc3QgJHJlc291cmNlID0gJ3Jlc291cmNlJ1xyXG5leHBvcnQgY29uc3QgJGJvb2tpbmcgPSAnYm9va2luZydcclxuZXhwb3J0IGNvbnN0ICRzZWN0aW9uID0gJ3NlY3Rpb24nXHJcbmV4cG9ydCBjb25zdCAkc2V0dGluZ3MgPSAnc2V0dGluZ3MnXHJcbmV4cG9ydCBjb25zdCAkdGFza3MgPSAndGFza3MnXHJcbmV4cG9ydCBjb25zdCAkZWxhcHNlZGl0ZW0gPSAnZWxhcHNlZGl0ZW0nXHJcbmV4cG9ydCBjb25zdCAkZ2V0bGlzdCA9ICdnZXRsaXN0J1xyXG5leHBvcnQgY29uc3QgJGFwcHJvdmUgPSAnYXBwcm92ZSdcclxuZXhwb3J0IGNvbnN0ICRjb21wbGV0ZSA9ICdjb21wbGV0ZSdcclxuZXhwb3J0IGNvbnN0ICRjb3VudGVycyA9ICdjb3VudGVycydcclxuZXhwb3J0IGNvbnN0ICRkZWZlciA9ICdkZWZlcidcclxuZXhwb3J0IGNvbnN0ICRkZWxlZ2F0ZSA9ICdkZWxlZ2F0ZSdcclxuZXhwb3J0IGNvbnN0ICRkaXNhcHByb3ZlID0gJ2Rpc2FwcHJvdmUnXHJcbmV4cG9ydCBjb25zdCAkZmF2b3JpdGUgPSAnZmF2b3JpdGUnXHJcbmV4cG9ydCBjb25zdCAkZmlsZXMgPSAnZmlsZXMnXHJcbmV4cG9ydCBjb25zdCAkZmlsZSA9ICdmaWxlJ1xyXG5leHBvcnQgY29uc3QgJGF0dGFjaCA9ICdhdHRhY2gnXHJcbmV4cG9ydCBjb25zdCAkZmllbGQgPSAnZmllbGQnXHJcbmV4cG9ydCBjb25zdCAkZ2V0RmllbGRzID0gJ2dldCcgKyAkZmllbGQgKyAncydcclxuZXhwb3J0IGNvbnN0ICRnZXRhY2Nlc3MgPSAnZ2V0YWNjZXNzJ1xyXG5leHBvcnQgY29uc3QgJGhpc3RvcnkgPSAnaGlzdG9yeSdcclxuZXhwb3J0IGNvbnN0ICRwYXVzZSA9ICdwYXVzZSdcclxuZXhwb3J0IGNvbnN0ICRyZW5ldyA9ICdyZW5ldydcclxuZXhwb3J0IGNvbnN0ICRzdGFydCA9ICdzdGFydCdcclxuZXhwb3J0IGNvbnN0ICRyZXN1bHQgPSAncmVzdWx0J1xyXG5leHBvcnQgY29uc3QgJHBsYW5uZXIgPSAncGxhbm5lcidcclxuZXhwb3J0IGNvbnN0ICRkaXNrID0gJ2Rpc2snXHJcbmV4cG9ydCBjb25zdCAkcmVuYW1lID0gJ3JlbmFtZSdcclxuZXhwb3J0IGNvbnN0ICRtYXJrZGVsZXRlZCA9ICdtYXJrZGVsZXRlZCdcclxuZXhwb3J0IGNvbnN0ICRyZXN0b3JlID0gJ3Jlc3RvcmUnXHJcbmV4cG9ydCBjb25zdCAkZm9sZGVyID0gJ2ZvbGRlcidcclxuZXhwb3J0IGNvbnN0ICRnZXRjaGlsZHJlbiA9ICdnZXRjaGlsZHJlbidcclxuZXhwb3J0IGNvbnN0ICRjb3B5dG8gPSAnY29weXRvJ1xyXG5leHBvcnQgY29uc3QgJG1vdmV0byA9ICdtb3ZldG8nXHJcbmV4cG9ydCBjb25zdCAkdXBsb2FkZmlsZSA9ICd1cGxvYWRmaWxlJ1xyXG5leHBvcnQgY29uc3QgJHN0b3JhZ2UgPSAnc3RvcmFnZSdcclxuZXhwb3J0IGNvbnN0ICRnZXRUeXBlcyA9ICdnZXRUeXBlcydcclxuZXhwb3J0IGNvbnN0ICRzdGFnZXMgPSAnc3RhZ2VzJ1xyXG5leHBvcnQgY29uc3QgJGdldG1hbmlmZXN0ID0gJ2dldG1hbmlmZXN0J1xyXG5leHBvcnQgY29uc3QgJGlzYWN0aW9uYWxsb3dlZCA9ICdpc2FjdGlvbmFsbG93ZWQnXHJcbmV4cG9ydCBjb25zdCAkY29tbWVudGl0ZW0gPSAnY29tbWVudGl0ZW0nXHJcbmV4cG9ydCBjb25zdCAkZGVwYXJ0bWVudCA9ICdkZXBhcnRtZW50J1xyXG5leHBvcnQgY29uc3QgJHNvbmV0X2dyb3VwID0gJ3NvbmV0X2dyb3VwJ1xyXG5leHBvcnQgY29uc3QgJGNyZWF0ZSA9ICdjcmVhdGUnXHJcbmV4cG9ydCBjb25zdCAkZmVhdHVyZSA9ICdmZWF0dXJlJ1xyXG5leHBvcnQgY29uc3QgJGFjY2VzcyA9ICdhY2Nlc3MnXHJcbmV4cG9ydCBjb25zdCAkcmVxdWVzdCA9ICdyZXF1ZXN0J1xyXG5leHBvcnQgY29uc3QgJHNvY2lhbG5ldHdvcmsgPSAnc29jaWFsbmV0d29yaydcclxuZXhwb3J0IGNvbnN0ICRhcGkgPSAnYXBpJ1xyXG5leHBvcnQgY29uc3QgJHdvcmtncm91cCA9ICd3b3JrZ3JvdXAnXHJcbmV4cG9ydCBjb25zdCAkbG9nID0gJ2xvZydcclxuZXhwb3J0IGNvbnN0ICRibG9ncG9zdCA9ICdibG9ncG9zdCdcclxuZXhwb3J0IGNvbnN0ICRsaXN0cyA9ICdsaXN0cydcclxuZXhwb3J0IGNvbnN0ICRpYmxvY2sgPSAnaWJsb2NrJ1xyXG5leHBvcnQgY29uc3QgJHR5cGUgPSAndHlwZSdcclxuZXhwb3J0IGNvbnN0ICRpZCA9ICdpZCdcclxuZXhwb3J0IGNvbnN0ICRlbGVtZW50ID0gJ2VsZW1lbnQnXHJcbmV4cG9ydCBjb25zdCAkdXJsID0gJ3VybCdcclxuZXhwb3J0IGNvbnN0ICRiaXpwcm9jID0gJ2JpenByb2MnXHJcbmV4cG9ydCBjb25zdCAkd29ya2Zsb3cgPSAnd29ya2Zsb3cnXHJcbmV4cG9ydCBjb25zdCAkaW5zdGFuY2VzID0gJ2luc3RhbmNlcydcclxuZXhwb3J0IGNvbnN0ICR0ZXJtaW5hdGUgPSAnJHRlcm1pbmF0ZSdcclxuZXhwb3J0IGNvbnN0ICRraWxsID0gJ2tpbGwnXHJcbmV4cG9ydCBjb25zdCAkdGVtcGxhdGUgPSAndGVtcGxhdGUnXHJcbmV4cG9ydCBjb25zdCAkYWN0aXZpdHkgPSAnYWN0aXZpdHknXHJcbmV4cG9ydCBjb25zdCAkcm9ib3QgPSAncm9ib3QnXHJcbmV4cG9ydCBjb25zdCAkc2VuZCA9ICdzZW5kJ1xyXG5leHBvcnQgY29uc3QgJHNoYXJlID0gJ3NoYXJlJ1xyXG5leHBvcnQgY29uc3QgJGJsb2djb21tZW50ID0gJ2Jsb2djb21tZW50J1xyXG5leHBvcnQgY29uc3QgJHNlcnZlciA9ICdzZXJ2ZXInXHJcbmV4cG9ydCBjb25zdCAkdGltZSA9ICd0aW1lJ1xyXG5leHBvcnQgY29uc3QgJGNoYXQgPSAnY2hhdCdcclxuZXhwb3J0IGNvbnN0ICRtZXNzYWdlID0gJ21lc3NhZ2UnXHJcbiJdfQ==
|
|
@@ -1,200 +0,0 @@
|
|
|
1
|
-
// Generate an internal UID to make the regexp pattern harder to guess.
|
|
2
|
-
const UID_LENGTH = 16;
|
|
3
|
-
const UID = generateUID();
|
|
4
|
-
const PLACE_HOLDER_REGEXP = new RegExp('(\\\\)?"@__(F|R|D|M|S|A|U|I|B|L)-' + UID + '-(\\d+)__@"', 'g');
|
|
5
|
-
const IS_NATIVE_CODE_REGEXP = /\{\s*\[native code]\s*}/g;
|
|
6
|
-
const IS_PURE_FUNCTION = /function.*?\(/;
|
|
7
|
-
const IS_ARROW_FUNCTION = /.*?=>.*?/;
|
|
8
|
-
const UNSAFE_CHARS_REGEXP = /[<>\/\u2028\u2029]/g;
|
|
9
|
-
const RESERVED_SYMBOLS = ['*', 'async'];
|
|
10
|
-
// Mapping of unsafe HTML and invalid JavaScript line terminator chars to their
|
|
11
|
-
// Unicode char counterparts which are safe to use in JavaScript strings.
|
|
12
|
-
const ESCAPED_CHARS = {
|
|
13
|
-
'<': '\\u003C',
|
|
14
|
-
'>': '\\u003E',
|
|
15
|
-
'/': '\\u002F',
|
|
16
|
-
'\u2028': '\\u2028',
|
|
17
|
-
'\u2029': '\\u2029'
|
|
18
|
-
};
|
|
19
|
-
function escapeUnsafeChars(unsafeChar) {
|
|
20
|
-
return (ESCAPED_CHARS.hasOwnProperty(unsafeChar)) ? ESCAPED_CHARS[unsafeChar] : '';
|
|
21
|
-
}
|
|
22
|
-
function generateUID() {
|
|
23
|
-
let bytes = window.crypto.getRandomValues(new Uint32Array(UID_LENGTH));
|
|
24
|
-
let result = '';
|
|
25
|
-
for (let i = 0; i < UID_LENGTH; ++i) {
|
|
26
|
-
result += bytes[i].toString(16);
|
|
27
|
-
}
|
|
28
|
-
return result;
|
|
29
|
-
}
|
|
30
|
-
function deleteFunctions(obj) {
|
|
31
|
-
let functionKeys = [];
|
|
32
|
-
for (let key in obj) {
|
|
33
|
-
if (typeof obj[key] === "function") {
|
|
34
|
-
functionKeys.push(key);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
for (let i = 0; i < functionKeys.length; i++) {
|
|
38
|
-
delete obj[functionKeys[i]];
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
function serialize(obj, options = {}) {
|
|
42
|
-
// Backwards-compatibility for `space` as the second argument.
|
|
43
|
-
if (typeof options === 'number' || typeof options === 'string') {
|
|
44
|
-
options = { space: options };
|
|
45
|
-
}
|
|
46
|
-
let functions = [];
|
|
47
|
-
let regexps = [];
|
|
48
|
-
let dates = [];
|
|
49
|
-
let maps = [];
|
|
50
|
-
let sets = [];
|
|
51
|
-
let arrays = [];
|
|
52
|
-
let undefs = [];
|
|
53
|
-
let infinities = [];
|
|
54
|
-
let bigInts = [];
|
|
55
|
-
let urls = [];
|
|
56
|
-
// Returns placeholders for functions and regexps (identified by index)
|
|
57
|
-
// which are later replaced by their string representation.
|
|
58
|
-
function replacer(key, value) {
|
|
59
|
-
// For nested function
|
|
60
|
-
if (options.ignoreFunction) {
|
|
61
|
-
deleteFunctions(value);
|
|
62
|
-
}
|
|
63
|
-
if (!value && value !== undefined) {
|
|
64
|
-
return value;
|
|
65
|
-
}
|
|
66
|
-
// let origValue: any = this[key];
|
|
67
|
-
let origValue = value;
|
|
68
|
-
let type = typeof origValue;
|
|
69
|
-
switch (type) {
|
|
70
|
-
case 'object':
|
|
71
|
-
if (origValue instanceof RegExp) {
|
|
72
|
-
return '@__R-' + UID + '-' + (regexps.push(origValue) - 1) + '__@';
|
|
73
|
-
}
|
|
74
|
-
else if (origValue instanceof Date) {
|
|
75
|
-
return '@__D-' + UID + '-' + (dates.push(origValue) - 1) + '__@';
|
|
76
|
-
}
|
|
77
|
-
else if (origValue instanceof Map) {
|
|
78
|
-
return '@__M-' + UID + '-' + (maps.push(origValue) - 1) + '__@';
|
|
79
|
-
}
|
|
80
|
-
else if (origValue instanceof Set) {
|
|
81
|
-
return '@__S-' + UID + '-' + (sets.push(origValue) - 1) + '__@';
|
|
82
|
-
}
|
|
83
|
-
if (origValue instanceof Array) {
|
|
84
|
-
let isSparse = origValue.filter(function () {
|
|
85
|
-
return true;
|
|
86
|
-
}).length !== origValue.length;
|
|
87
|
-
if (isSparse) {
|
|
88
|
-
return '@__A-' + UID + '-' + (arrays.push(origValue) - 1) + '__@';
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
if (origValue instanceof URL) {
|
|
92
|
-
return '@__L-' + UID + '-' + (urls.push(origValue) - 1) + '__@';
|
|
93
|
-
}
|
|
94
|
-
break;
|
|
95
|
-
case 'function':
|
|
96
|
-
return '@__F-' + UID + '-' + (functions.push(origValue) - 1) + '__@';
|
|
97
|
-
case 'undefined':
|
|
98
|
-
return '@__U-' + UID + '-' + (undefs.push(origValue) - 1) + '__@';
|
|
99
|
-
case 'number':
|
|
100
|
-
return '@__I-' + UID + '-' + (infinities.push(origValue) - 1) + '__@';
|
|
101
|
-
case 'bigint':
|
|
102
|
-
return '@__B-' + UID + '-' + (bigInts.push(origValue) - 1) + '__@';
|
|
103
|
-
}
|
|
104
|
-
return value;
|
|
105
|
-
}
|
|
106
|
-
function serializeFunc(fn) {
|
|
107
|
-
let serializedFn = fn.toString();
|
|
108
|
-
if (IS_NATIVE_CODE_REGEXP.test(serializedFn)) {
|
|
109
|
-
throw new TypeError('Serializing native function: ' + fn.name);
|
|
110
|
-
}
|
|
111
|
-
// pure functions, example: {key: function() {}}
|
|
112
|
-
if (IS_PURE_FUNCTION.test(serializedFn)) {
|
|
113
|
-
return serializedFn;
|
|
114
|
-
}
|
|
115
|
-
// arrow functions, example: arg1 => arg1+5
|
|
116
|
-
if (IS_ARROW_FUNCTION.test(serializedFn)) {
|
|
117
|
-
return serializedFn;
|
|
118
|
-
}
|
|
119
|
-
let argsStartsAt = serializedFn.indexOf('(');
|
|
120
|
-
let def = serializedFn.slice(0, argsStartsAt)
|
|
121
|
-
.trim()
|
|
122
|
-
.split(' ')
|
|
123
|
-
.filter(function (val) {
|
|
124
|
-
return val.length > 0;
|
|
125
|
-
});
|
|
126
|
-
let nonReservedSymbols = def.filter(function (val) {
|
|
127
|
-
return RESERVED_SYMBOLS.indexOf(val) === -1;
|
|
128
|
-
});
|
|
129
|
-
// enhanced literal objects, example: {key() {}}
|
|
130
|
-
if (nonReservedSymbols.length > 0) {
|
|
131
|
-
return (def.indexOf('async') > -1 ? 'async ' : '') + 'function'
|
|
132
|
-
+ (def.join('').indexOf('*') > -1 ? '*' : '')
|
|
133
|
-
+ serializedFn.slice(argsStartsAt);
|
|
134
|
-
}
|
|
135
|
-
// arrow functions
|
|
136
|
-
return serializedFn;
|
|
137
|
-
}
|
|
138
|
-
// Check if the parameter is function
|
|
139
|
-
if (options.ignoreFunction && typeof obj === "function") {
|
|
140
|
-
obj = undefined;
|
|
141
|
-
}
|
|
142
|
-
// Protects against `JSON.stringify()` returning `undefined`, by serializing
|
|
143
|
-
// to the literal string: "undefined".
|
|
144
|
-
if (obj === undefined) {
|
|
145
|
-
return String(obj);
|
|
146
|
-
}
|
|
147
|
-
let str = '';
|
|
148
|
-
// Creates a JSON string representation of the value.
|
|
149
|
-
// NOTE: Node 0.12 goes into slow mode with extra JSON.stringify() args.
|
|
150
|
-
if (options.isJSON && !options.space) {
|
|
151
|
-
str = JSON.stringify(obj);
|
|
152
|
-
}
|
|
153
|
-
else {
|
|
154
|
-
str = JSON.stringify(obj, options.isJSON ? undefined : replacer, options.space);
|
|
155
|
-
}
|
|
156
|
-
// Replace unsafe HTML and invalid JavaScript line terminator chars with
|
|
157
|
-
// their safe Unicode char counterpart. This _must_ happen before the
|
|
158
|
-
// regexps and functions are serialized and added back to the string.
|
|
159
|
-
if (options.unsafe !== true) {
|
|
160
|
-
str = str.replace(UNSAFE_CHARS_REGEXP, escapeUnsafeChars);
|
|
161
|
-
}
|
|
162
|
-
if (functions.length === 0 && regexps.length === 0 && dates.length === 0 && maps.length === 0 && sets.length === 0 && arrays.length === 0 && undefs.length === 0 && infinities.length === 0 && bigInts.length === 0 && urls.length === 0) {
|
|
163
|
-
return str;
|
|
164
|
-
}
|
|
165
|
-
// Replaces all occurrences of function, regexp, date, map and set placeholders in the
|
|
166
|
-
// JSON string with their string representations. If the original value can
|
|
167
|
-
// not be found, then `undefined` is used.
|
|
168
|
-
return str.replace(PLACE_HOLDER_REGEXP, function (match, backSlash, type, valueIndex) {
|
|
169
|
-
// The placeholder may not be preceded by a backslash. This is to prevent
|
|
170
|
-
// replacing things like `"a\"@__R-<UID>-0__@"` and thus outputting
|
|
171
|
-
// invalid JS.
|
|
172
|
-
if (backSlash) {
|
|
173
|
-
return match;
|
|
174
|
-
}
|
|
175
|
-
switch (type) {
|
|
176
|
-
case 'D':
|
|
177
|
-
return "new Date(\"" + dates[valueIndex].toISOString() + "\")";
|
|
178
|
-
case 'R':
|
|
179
|
-
return "new RegExp(" + serialize(regexps[valueIndex].source) + ", \"" + regexps[valueIndex].flags + "\")";
|
|
180
|
-
case 'M':
|
|
181
|
-
return "new Map(" + serialize(Array.from(maps[valueIndex].entries()), options) + ")";
|
|
182
|
-
case 'S':
|
|
183
|
-
return "new Set(" + serialize(Array.from(sets[valueIndex].values()), options) + ")";
|
|
184
|
-
case 'A':
|
|
185
|
-
return "Array.prototype.slice.call(" + serialize(Object.assign({ length: arrays[valueIndex].length }, arrays[valueIndex]), options) + ")";
|
|
186
|
-
case 'U':
|
|
187
|
-
return 'undefined';
|
|
188
|
-
case 'I':
|
|
189
|
-
return infinities[valueIndex];
|
|
190
|
-
case 'B':
|
|
191
|
-
return "BigInt(\"" + bigInts[valueIndex] + "\")";
|
|
192
|
-
case 'L':
|
|
193
|
-
return "new URL(\"" + urls[valueIndex].toString() + "\")";
|
|
194
|
-
}
|
|
195
|
-
let fn = functions[valueIndex];
|
|
196
|
-
return serializeFunc(fn);
|
|
197
|
-
});
|
|
198
|
-
}
|
|
199
|
-
export default serialize;
|
|
200
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VyaWFsaXplSmF2YXNjcmlwdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL2Z1bmN0aW9ucy9zZXJpYWxpemVKYXZhc2NyaXB0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVFQUF1RTtBQUN2RSxNQUFNLFVBQVUsR0FBRyxFQUFFLENBQUM7QUFDdEIsTUFBTSxHQUFHLEdBQUcsV0FBVyxFQUFFLENBQUM7QUFDMUIsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLE1BQU0sQ0FBQyxtQ0FBbUMsR0FBRyxHQUFHLEdBQUcsYUFBYSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBRXZHLE1BQU0scUJBQXFCLEdBQUcsMEJBQTBCLENBQUM7QUFDekQsTUFBTSxnQkFBZ0IsR0FBRyxlQUFlLENBQUM7QUFDekMsTUFBTSxpQkFBaUIsR0FBRyxVQUFVLENBQUM7QUFDckMsTUFBTSxtQkFBbUIsR0FBRyxxQkFBcUIsQ0FBQztBQUVsRCxNQUFNLGdCQUFnQixHQUFHLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBRXhDLCtFQUErRTtBQUMvRSx5RUFBeUU7QUFDekUsTUFBTSxhQUFhLEdBQTZCO0lBQzlDLEdBQUcsRUFBRSxTQUFTO0lBQ2QsR0FBRyxFQUFFLFNBQVM7SUFDZCxHQUFHLEVBQUUsU0FBUztJQUNkLFFBQVEsRUFBRSxTQUFTO0lBQ25CLFFBQVEsRUFBRSxTQUFTO0NBQ3BCLENBQUM7QUFFRixTQUFTLGlCQUFpQixDQUFDLFVBQWtCO0lBQzNDLE9BQU8sQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3JGLENBQUM7QUFFRCxTQUFTLFdBQVc7SUFDbEIsSUFBSSxLQUFLLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsSUFBSSxX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QyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsZUFBZSxTQUFTLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBHZW5lcmF0ZSBhbiBpbnRlcm5hbCBVSUQgdG8gbWFrZSB0aGUgcmVnZXhwIHBhdHRlcm4gaGFyZGVyIHRvIGd1ZXNzLlxyXG5jb25zdCBVSURfTEVOR1RIID0gMTY7XHJcbmNvbnN0IFVJRCA9IGdlbmVyYXRlVUlEKCk7XHJcbmNvbnN0IFBMQUNFX0hPTERFUl9SRUdFWFAgPSBuZXcgUmVnRXhwKCcoXFxcXFxcXFwpP1wiQF9fKEZ8UnxEfE18U3xBfFV8SXxCfEwpLScgKyBVSUQgKyAnLShcXFxcZCspX19AXCInLCAnZycpO1xyXG5cclxuY29uc3QgSVNfTkFUSVZFX0NPREVfUkVHRVhQID0gL1xce1xccypcXFtuYXRpdmUgY29kZV1cXHMqfS9nO1xyXG5jb25zdCBJU19QVVJFX0ZVTkNUSU9OID0gL2Z1bmN0aW9uLio/XFwoLztcclxuY29uc3QgSVNfQVJST1dfRlVOQ1RJT04gPSAvLio/PT4uKj8vO1xyXG5jb25zdCBVTlNBRkVfQ0hBUlNfUkVHRVhQID0gL1s8PlxcL1xcdTIwMjhcXHUyMDI5XS9nO1xyXG5cclxuY29uc3QgUkVTRVJWRURfU1lNQk9MUyA9IFsnKicsICdhc3luYyddO1xyXG5cclxuLy8gTWFwcGluZyBvZiB1bnNhZmUgSFRNTCBhbmQgaW52YWxpZCBKYXZhU2NyaXB0IGxpbmUgdGVybWluYXRvciBjaGFycyB0byB0aGVpclxyXG4vLyBVbmljb2RlIGNoYXIgY291bnRlcnBhcnRzIHdoaWNoIGFyZSBzYWZlIHRvIHVzZSBpbiBKYXZhU2NyaXB0IHN0cmluZ3MuXHJcbmNvbnN0IEVTQ0FQRURfQ0hBUlM6IHtba2V5OiBzdHJpbmddOiBzdHJpbmd9ICA9IHtcclxuICAnPCc6ICdcXFxcdTAwM0MnLFxyXG4gICc+JzogJ1xcXFx1MDAzRScsXHJcbiAgJy8nOiAnXFxcXHUwMDJGJyxcclxuICAnXFx1MjAyOCc6ICdcXFxcdTIwMjgnLFxyXG4gICdcXHUyMDI5JzogJ1xcXFx1MjAyOSdcclxufTtcclxuXHJcbmZ1bmN0aW9uIGVzY2FwZVVuc2FmZUNoYXJzKHVuc2FmZUNoYXI6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgcmV0dXJuIChFU0NBUEVEX0NIQVJTLmhhc093blByb3BlcnR5KHVuc2FmZUNoYXIpKSA/IEVTQ0FQRURfQ0hBUlNbdW5zYWZlQ2hhcl0gOiAnJztcclxufVxyXG5cclxuZnVuY3Rpb24gZ2VuZXJhdGVVSUQoKSB7XHJcbiAgbGV0IGJ5dGVzID0gd2luZG93LmNyeXB0by5nZXRSYW5kb21WYWx1ZXMobmV3IFVpbnQzMkFycmF5KFVJRF9MRU5HVEgpKVxyXG4gIGxldCByZXN1bHQgPSAnJztcclxuICBmb3IgKGxldCBpID0gMDsgaSA8IFVJRF9MRU5HVEg7ICsraSkge1xyXG4gICAgcmVzdWx0ICs9IGJ5dGVzW2ldLnRvU3RyaW5nKDE2KTtcclxuICB9XHJcbiAgcmV0dXJuIHJlc3VsdDtcclxufVxyXG5cclxuZnVuY3Rpb24gZGVsZXRlRnVuY3Rpb25zKG9iajogYW55KSB7XHJcbiAgbGV0IGZ1bmN0aW9uS2V5cyA9IFtdO1xyXG4gIGZvciAobGV0IGtleSBpbiBvYmopIHtcclxuICAgIGlmICh0eXBlb2Ygb2JqW2tleV0gPT09IFwiZnVuY3Rpb25cIikge1xyXG4gICAgICBmdW5jdGlvbktleXMucHVzaChrZXkpO1xyXG4gICAgfVxyXG4gIH1cclxuICBmb3IgKGxldCBpID0gMDsgaSA8IGZ1bmN0aW9uS2V5cy5sZW5ndGg7IGkrKykge1xyXG4gICAgZGVsZXRlIG9ialtmdW5jdGlvbktleXNbaV1dO1xyXG4gIH1cclxufVxyXG5cclxuZnVuY3Rpb24gc2VyaWFsaXplKG9iajogYW55LCBvcHRpb25zOiBhbnkgPSB7fSk6IGFueSB7XHJcbiAgLy8gQmFja3dhcmRzLWNvbXBhdGliaWxpdHkgZm9yIGBzcGFjZWAgYXMgdGhlIHNlY29uZCBhcmd1bWVudC5cclxuICBpZiAodHlwZW9mIG9wdGlvbnMgPT09ICdudW1iZXInIHx8IHR5cGVvZiBvcHRpb25zID09PSAnc3RyaW5nJykge1xyXG4gICAgb3B0aW9ucyA9IHtzcGFjZTogb3B0aW9uc307XHJcbiAgfVxyXG5cclxuICBsZXQgZnVuY3Rpb25zOiBGdW5jdGlvbltdID0gW107XHJcbiAgbGV0IHJlZ2V4cHM6IGFueVtdID0gW107XHJcbiAgbGV0IGRhdGVzOiBhbnlbXSA9IFtdO1xyXG4gIGxldCBtYXBzOiBhbnlbXSA9IFtdO1xyXG4gIGxldCBzZXRzOiBhbnlbXSA9IFtdO1xyXG4gIGxldCBhcnJheXM6IGFueVtdID0gW107XHJcbiAgbGV0IHVuZGVmczogYW55W10gPSBbXTtcclxuICBsZXQgaW5maW5pdGllczogYW55W10gPSBbXTtcclxuICBsZXQgYmlnSW50czogYW55W10gPSBbXTtcclxuICBsZXQgdXJsczogYW55W10gPSBbXTtcclxuXHJcbiAgLy8gUmV0dXJucyBwbGFjZWhvbGRlcnMgZm9yIGZ1bmN0aW9ucyBhbmQgcmVnZXhwcyAoaWRlbnRpZmllZCBieSBpbmRleClcclxuICAvLyB3aGljaCBhcmUgbGF0ZXIgcmVwbGFjZWQgYnkgdGhlaXIgc3RyaW5nIHJlcHJlc2VudGF0aW9uLlxyXG4gIGZ1bmN0aW9uIHJlcGxhY2VyKGtleTogc3RyaW5nLCB2YWx1ZTogYW55KSB7XHJcblxyXG4gICAgLy8gRm9yIG5lc3RlZCBmdW5jdGlvblxyXG4gICAgaWYgKG9wdGlvbnMuaWdub3JlRnVuY3Rpb24pIHtcclxuICAgICAgZGVsZXRlRnVuY3Rpb25zKHZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIXZhbHVlICYmIHZhbHVlICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgcmV0dXJuIHZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIGxldCBvcmlnVmFsdWU6IGFueSA9IHRoaXNba2V5XTtcclxuICAgIGxldCBvcmlnVmFsdWU6IGFueSA9IHZhbHVlO1xyXG4gICAgbGV0IHR5cGUgPSB0eXBlb2Ygb3JpZ1ZhbHVlO1xyXG5cclxuICAgIHN3aXRjaCAodHlwZSl7XHJcbiAgICAgIGNhc2UgJ29iamVjdCc6XHJcblxyXG4gICAgICAgIGlmIChvcmlnVmFsdWUgaW5zdGFuY2VvZiBSZWdFeHApIHtcclxuICAgICAgICAgIHJldHVybiAnQF9fUi0nICsgVUlEICsgJy0nICsgKHJlZ2V4cHMucHVzaChvcmlnVmFsdWUpIC0gMSkgKyAnX19AJztcclxuICAgICAgICB9IGVsc2UgaWYgKG9yaWdWYWx1ZSBpbnN0YW5jZW9mIERhdGUpIHtcclxuICAgICAgICAgIHJldHVybiAnQF9fRC0nICsgVUlEICsgJy0nICsgKGRhdGVzLnB1c2gob3JpZ1ZhbHVlKSAtIDEpICsgJ19fQCc7XHJcbiAgICAgICAgfSBlbHNlIGlmIChvcmlnVmFsdWUgaW5zdGFuY2VvZiBNYXApIHtcclxuICAgICAgICAgIHJldHVybiAnQF9fTS0nICsgVUlEICsgJy0nICsgKG1hcHMucHVzaChvcmlnVmFsdWUpIC0gMSkgKyAnX19AJztcclxuICAgICAgICB9IGVsc2UgaWYgKG9yaWdWYWx1ZSBpbnN0YW5jZW9mIFNldCkge1xyXG4gICAgICAgICAgcmV0dXJuICdAX19TLScgKyBVSUQgKyAnLScgKyAoc2V0cy5wdXNoKG9yaWdWYWx1ZSkgLSAxKSArICdfX0AnO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKG9yaWdWYWx1ZSBpbnN0YW5jZW9mIEFycmF5KSB7XHJcbiAgICAgICAgICBsZXQgaXNTcGFyc2UgPSBvcmlnVmFsdWUuZmlsdGVyKGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRydWVcclxuICAgICAgICAgIH0pLmxlbmd0aCAhPT0gb3JpZ1ZhbHVlLmxlbmd0aDtcclxuICAgICAgICAgIGlmIChpc1NwYXJzZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gJ0BfX0EtJyArIFVJRCArICctJyArIChhcnJheXMucHVzaChvcmlnVmFsdWUpIC0gMSkgKyAnX19AJztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChvcmlnVmFsdWUgaW5zdGFuY2VvZiBVUkwpIHtcclxuICAgICAgICAgIHJldHVybiAnQF9fTC0nICsgVUlEICsgJy0nICsgKHVybHMucHVzaChvcmlnVmFsdWUpIC0gMSkgKyAnX19AJztcclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2Z1bmN0aW9uJzpcclxuICAgICAgICByZXR1cm4gJ0BfX0YtJyArIFVJRCArICctJyArIChmdW5jdGlvbnMucHVzaChvcmlnVmFsdWUpIC0gMSkgKyAnX19AJztcclxuICAgICAgY2FzZSAndW5kZWZpbmVkJzpcclxuICAgICAgICByZXR1cm4gJ0BfX1UtJyArIFVJRCArICctJyArICh1bmRlZnMucHVzaChvcmlnVmFsdWUpIC0gMSkgKyAnX19AJztcclxuICAgICAgY2FzZSAnbnVtYmVyJzpcclxuICAgICAgICByZXR1cm4gJ0BfX0ktJyArIFVJRCArICctJyArIChpbmZpbml0aWVzLnB1c2gob3JpZ1ZhbHVlKSAtIDEpICsgJ19fQCc7XHJcbiAgICAgIGNhc2UgJ2JpZ2ludCc6XHJcbiAgICAgICAgcmV0dXJuICdAX19CLScgKyBVSUQgKyAnLScgKyAoYmlnSW50cy5wdXNoKG9yaWdWYWx1ZSkgLSAxKSArICdfX0AnO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB2YWx1ZTtcclxuICB9XHJcblxyXG4gIGZ1bmN0aW9uIHNlcmlhbGl6ZUZ1bmMoZm46IEZ1bmN0aW9uKSB7XHJcbiAgICBsZXQgc2VyaWFsaXplZEZuID0gZm4udG9TdHJpbmcoKTtcclxuICAgIGlmIChJU19OQVRJVkVfQ09ERV9SRUdFWFAudGVzdChzZXJpYWxpemVkRm4pKSB7XHJcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ1NlcmlhbGl6aW5nIG5hdGl2ZSBmdW5jdGlvbjogJyArIGZuLm5hbWUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIHB1cmUgZnVuY3Rpb25zLCBleGFtcGxlOiB7a2V5OiBmdW5jdGlvbigpIHt9fVxyXG4gICAgaWYgKElTX1BVUkVfRlVOQ1RJT04udGVzdChzZXJpYWxpemVkRm4pKSB7XHJcbiAgICAgIHJldHVybiBzZXJpYWxpemVkRm47XHJcbiAgICB9XHJcblxyXG4gICAgLy8gYXJyb3cgZnVuY3Rpb25zLCBleGFtcGxlOiBhcmcxID0+IGFyZzErNVxyXG4gICAgaWYgKElTX0FSUk9XX0ZVTkNUSU9OLnRlc3Qoc2VyaWFsaXplZEZuKSkge1xyXG4gICAgICByZXR1cm4gc2VyaWFsaXplZEZuO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBhcmdzU3RhcnRzQXQgPSBzZXJpYWxpemVkRm4uaW5kZXhPZignKCcpO1xyXG4gICAgbGV0IGRlZiA9IHNlcmlhbGl6ZWRGbi5zbGljZSgwLCBhcmdzU3RhcnRzQXQpXHJcbiAgICAudHJpbSgpXHJcbiAgICAuc3BsaXQoJyAnKVxyXG4gICAgLmZpbHRlcihmdW5jdGlvbiAodmFsKSB7XHJcbiAgICAgIHJldHVybiB2YWwubGVuZ3RoID4gMFxyXG4gICAgfSk7XHJcblxyXG4gICAgbGV0IG5vblJlc2VydmVkU3ltYm9scyA9IGRlZi5maWx0ZXIoZnVuY3Rpb24gKHZhbCkge1xyXG4gICAgICByZXR1cm4gUkVTRVJWRURfU1lNQk9MUy5pbmRleE9mKHZhbCkgPT09IC0xXHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyBlbmhhbmNlZCBsaXRlcmFsIG9iamVjdHMsIGV4YW1wbGU6IHtrZXkoKSB7fX1cclxuICAgIGlmIChub25SZXNlcnZlZFN5bWJvbHMubGVuZ3RoID4gMCkge1xyXG4gICAgICByZXR1cm4gKGRlZi5pbmRleE9mKCdhc3luYycpID4gLTEgPyAnYXN5bmMgJyA6ICcnKSArICdmdW5jdGlvbidcclxuICAgICAgICArIChkZWYuam9pbignJykuaW5kZXhPZignKicpID4gLTEgPyAnKicgOiAnJylcclxuICAgICAgICArIHNlcmlhbGl6ZWRGbi5zbGljZShhcmdzU3RhcnRzQXQpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIGFycm93IGZ1bmN0aW9uc1xyXG4gICAgcmV0dXJuIHNlcmlhbGl6ZWRGbjtcclxuICB9XHJcblxyXG4gIC8vIENoZWNrIGlmIHRoZSBwYXJhbWV0ZXIgaXMgZnVuY3Rpb25cclxuICBpZiAob3B0aW9ucy5pZ25vcmVGdW5jdGlvbiAmJiB0eXBlb2Ygb2JqID09PSBcImZ1bmN0aW9uXCIpIHtcclxuICAgIG9iaiA9IHVuZGVmaW5lZDtcclxuICB9XHJcbiAgLy8gUHJvdGVjdHMgYWdhaW5zdCBgSlNPTi5zdHJpbmdpZnkoKWAgcmV0dXJuaW5nIGB1bmRlZmluZWRgLCBieSBzZXJpYWxpemluZ1xyXG4gIC8vIHRvIHRoZSBsaXRlcmFsIHN0cmluZzogXCJ1bmRlZmluZWRcIi5cclxuICBpZiAob2JqID09PSB1bmRlZmluZWQpIHtcclxuICAgIHJldHVybiBTdHJpbmcob2JqKTtcclxuICB9XHJcblxyXG4gIGxldCBzdHI6IHN0cmluZyA9ICcnO1xyXG5cclxuICAvLyBDcmVhdGVzIGEgSlNPTiBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIHZhbHVlLlxyXG4gIC8vIE5PVEU6IE5vZGUgMC4xMiBnb2VzIGludG8gc2xvdyBtb2RlIHdpdGggZXh0cmEgSlNPTi5zdHJpbmdpZnkoKSBhcmdzLlxyXG4gIGlmIChvcHRpb25zLmlzSlNPTiAmJiAhb3B0aW9ucy5zcGFjZSkge1xyXG4gICAgc3RyID0gSlNPTi5zdHJpbmdpZnkob2JqKTtcclxuICB9IGVsc2Uge1xyXG4gICAgc3RyID0gSlNPTi5zdHJpbmdpZnkob2JqLCBvcHRpb25zLmlzSlNPTiA/IHVuZGVmaW5lZCA6IHJlcGxhY2VyLCBvcHRpb25zLnNwYWNlKTtcclxuICB9XHJcblxyXG4gIC8vIFJlcGxhY2UgdW5zYWZlIEhUTUwgYW5kIGludmFsaWQgSmF2YVNjcmlwdCBsaW5lIHRlcm1pbmF0b3IgY2hhcnMgd2l0aFxyXG4gIC8vIHRoZWlyIHNhZmUgVW5pY29kZSBjaGFyIGNvdW50ZXJwYXJ0LiBUaGlzIF9tdXN0XyBoYXBwZW4gYmVmb3JlIHRoZVxyXG4gIC8vIHJlZ2V4cHMgYW5kIGZ1bmN0aW9ucyBhcmUgc2VyaWFsaXplZCBhbmQgYWRkZWQgYmFjayB0byB0aGUgc3RyaW5nLlxyXG4gIGlmIChvcHRpb25zLnVuc2FmZSAhPT0gdHJ1ZSkge1xyXG4gICAgc3RyID0gc3RyLnJlcGxhY2UoVU5TQUZFX0NIQVJTX1JFR0VYUCwgZXNjYXBlVW5zYWZlQ2hhcnMpO1xyXG4gIH1cclxuXHJcbiAgaWYgKGZ1bmN0aW9ucy5sZW5ndGggPT09IDAgJiYgcmVnZXhwcy5sZW5ndGggPT09IDAgJiYgZGF0ZXMubGVuZ3RoID09PSAwICYmIG1hcHMubGVuZ3RoID09PSAwICYmIHNldHMubGVuZ3RoID09PSAwICYmIGFycmF5cy5sZW5ndGggPT09IDAgJiYgdW5kZWZzLmxlbmd0aCA9PT0gMCAmJiBpbmZpbml0aWVzLmxlbmd0aCA9PT0gMCAmJiBiaWdJbnRzLmxlbmd0aCA9PT0gMCAmJiB1cmxzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgcmV0dXJuIHN0cjtcclxuICB9XHJcblxyXG4gIC8vIFJlcGxhY2VzIGFsbCBvY2N1cnJlbmNlcyBvZiBmdW5jdGlvbiwgcmVnZXhwLCBkYXRlLCBtYXAgYW5kIHNldCBwbGFjZWhvbGRlcnMgaW4gdGhlXHJcbiAgLy8gSlNPTiBzdHJpbmcgd2l0aCB0aGVpciBzdHJpbmcgcmVwcmVzZW50YXRpb25zLiBJZiB0aGUgb3JpZ2luYWwgdmFsdWUgY2FuXHJcbiAgLy8gbm90IGJlIGZvdW5kLCB0aGVuIGB1bmRlZmluZWRgIGlzIHVzZWQuXHJcbiAgcmV0dXJuIHN0ci5yZXBsYWNlKFBMQUNFX0hPTERFUl9SRUdFWFAsIGZ1bmN0aW9uIChtYXRjaCwgYmFja1NsYXNoLCB0eXBlLCB2YWx1ZUluZGV4KSB7XHJcbiAgICAvLyBUaGUgcGxhY2Vob2xkZXIgbWF5IG5vdCBiZSBwcmVjZWRlZCBieSBhIGJhY2tzbGFzaC4gVGhpcyBpcyB0byBwcmV2ZW50XHJcbiAgICAvLyByZXBsYWNpbmcgdGhpbmdzIGxpa2UgYFwiYVxcXCJAX19SLTxVSUQ+LTBfX0BcImAgYW5kIHRodXMgb3V0cHV0dGluZ1xyXG4gICAgLy8gaW52YWxpZCBKUy5cclxuICAgIGlmIChiYWNrU2xhc2gpIHtcclxuICAgICAgcmV0dXJuIG1hdGNoO1xyXG4gICAgfVxyXG5cclxuICAgIHN3aXRjaCAodHlwZSl7XHJcbiAgICAgIGNhc2UgJ0QnOlxyXG4gICAgICAgIHJldHVybiBcIm5ldyBEYXRlKFxcXCJcIiArIGRhdGVzW3ZhbHVlSW5kZXhdLnRvSVNPU3RyaW5nKCkgKyBcIlxcXCIpXCJcclxuICAgICAgY2FzZSAnUic6XHJcbiAgICAgICAgcmV0dXJuIFwibmV3IFJlZ0V4cChcIiArIHNlcmlhbGl6ZShyZWdleHBzW3ZhbHVlSW5kZXhdLnNvdXJjZSkgKyBcIiwgXFxcIlwiICsgcmVnZXhwc1t2YWx1ZUluZGV4XS5mbGFncyArIFwiXFxcIilcIlxyXG4gICAgICBjYXNlICdNJzpcclxuICAgICAgICByZXR1cm4gXCJuZXcgTWFwKFwiICsgc2VyaWFsaXplKEFycmF5LmZyb20obWFwc1t2YWx1ZUluZGV4XS5lbnRyaWVzKCkpLCBvcHRpb25zKSArIFwiKVwiXHJcbiAgICAgIGNhc2UgJ1MnOlxyXG4gICAgICAgIHJldHVybiBcIm5ldyBTZXQoXCIgKyBzZXJpYWxpemUoQXJyYXkuZnJvbShzZXRzW3ZhbHVlSW5kZXhdLnZhbHVlcygpKSwgb3B0aW9ucykgKyBcIilcIlxyXG4gICAgICBjYXNlICdBJzpcclxuICAgICAgICByZXR1cm4gXCJBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChcIiArIHNlcmlhbGl6ZShPYmplY3QuYXNzaWduKHtsZW5ndGg6IGFycmF5c1t2YWx1ZUluZGV4XS5sZW5ndGh9LCBhcnJheXNbdmFsdWVJbmRleF0pLCBvcHRpb25zKSArIFwiKVwiXHJcbiAgICAgIGNhc2UgJ1UnOlxyXG4gICAgICAgIHJldHVybiAndW5kZWZpbmVkJ1xyXG4gICAgICBjYXNlICdJJzpcclxuICAgICAgICByZXR1cm4gaW5maW5pdGllc1t2YWx1ZUluZGV4XVxyXG4gICAgICBjYXNlICdCJzpcclxuICAgICAgICByZXR1cm4gXCJCaWdJbnQoXFxcIlwiICsgYmlnSW50c1t2YWx1ZUluZGV4XSArIFwiXFxcIilcIlxyXG4gICAgICBjYXNlICdMJzpcclxuICAgICAgICByZXR1cm4gXCJuZXcgVVJMKFxcXCJcIiArIHVybHNbdmFsdWVJbmRleF0udG9TdHJpbmcoKSArIFwiXFxcIilcIlxyXG4gICAgfVxyXG5cclxuICAgIGxldCBmbiA9IGZ1bmN0aW9uc1t2YWx1ZUluZGV4XTtcclxuXHJcbiAgICByZXR1cm4gc2VyaWFsaXplRnVuYyhmbik7XHJcbiAgfSk7XHJcbn1cclxuXHJcbmV4cG9ydCBkZWZhdWx0IHNlcmlhbGl6ZVxyXG4iXX0=
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
3
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class BxRestModule {
|
|
6
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: BxRestModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
7
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.11", ngImport: i0, type: BxRestModule, imports: [MatIconModule,
|
|
8
|
-
MatButtonModule], exports: [MatButtonModule,
|
|
9
|
-
MatIconModule] }); }
|
|
10
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: BxRestModule, imports: [MatIconModule,
|
|
11
|
-
MatButtonModule, MatButtonModule,
|
|
12
|
-
MatIconModule] }); }
|
|
13
|
-
}
|
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: BxRestModule, decorators: [{
|
|
15
|
-
type: NgModule,
|
|
16
|
-
args: [{
|
|
17
|
-
declarations: [],
|
|
18
|
-
imports: [
|
|
19
|
-
MatIconModule,
|
|
20
|
-
MatButtonModule
|
|
21
|
-
],
|
|
22
|
-
exports: [
|
|
23
|
-
MatButtonModule,
|
|
24
|
-
MatIconModule
|
|
25
|
-
]
|
|
26
|
-
}]
|
|
27
|
-
}] });
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYngtcmVzdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy9yZXF1ZXN0L2J4LXJlc3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDeEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTs7QUFjMUQsTUFBTSxPQUFPLFlBQVk7K0dBQVosWUFBWTtnSEFBWixZQUFZLFlBUnJCLGFBQWE7WUFDYixlQUFlLGFBR2YsZUFBZTtZQUNmLGFBQWE7Z0hBR0osWUFBWSxZQVJyQixhQUFhO1lBQ2IsZUFBZSxFQUdmLGVBQWU7WUFDZixhQUFhOzs0RkFHSixZQUFZO2tCQVp4QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxFQUNiO29CQUNELE9BQU8sRUFBRTt3QkFDUCxhQUFhO3dCQUNiLGVBQWU7cUJBQ2hCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxlQUFlO3dCQUNmLGFBQWE7cUJBQ2Q7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJ1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEJ4UmVzdE1vZHVsZSB7IH1cclxuIl19
|