@de./sdk-rn 1.0.1 → 1.0.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/dist/allend/Access.d.ts +1 -1
- package/dist/allend/Access.d.ts.map +1 -1
- package/dist/allend/Access.js +16 -6
- package/dist/allend/Access.js.map +1 -1
- package/dist/backend/Auth.js +19 -6
- package/dist/backend/Auth.js.map +1 -1
- package/dist/types/access.d.ts +7 -0
- package/dist/types/auth.d.ts +26 -0
- package/dist/types/index.d.ts +275 -0
- package/package.json +10 -3
- package/src/allend/Access.ts +5 -7
- package/src/backend/Auth.ts +7 -7
package/dist/allend/Access.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ export default class Access {
|
|
|
6
6
|
protected accessToken?: string;
|
|
7
7
|
protected remoteOrigin?: string;
|
|
8
8
|
constructor(options: AccessOptions);
|
|
9
|
-
request<Response>(options: HTTPRequestOptions): Promise<Response>;
|
|
9
|
+
request<Response>({ url, ...options }: HTTPRequestOptions): Promise<Response>;
|
|
10
10
|
setToken(token: string): void;
|
|
11
11
|
}
|
|
12
12
|
//# sourceMappingURL=Access.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Access.d.ts","sourceRoot":"","sources":["../../src/allend/Access.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAElD,MAAM,CAAC,OAAO,OAAO,MAAM;IACzB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,OAAO,CAAQ;IACvB,SAAS,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC9B,SAAS,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;gBAElB,OAAO,EAAE,aAAa;IAa7B,OAAO,CAAC,QAAQ,
|
|
1
|
+
{"version":3,"file":"Access.d.ts","sourceRoot":"","sources":["../../src/allend/Access.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAElD,MAAM,CAAC,OAAO,OAAO,MAAM;IACzB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,OAAO,CAAQ;IACvB,SAAS,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC9B,SAAS,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;gBAElB,OAAO,EAAE,aAAa;IAa7B,OAAO,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,GAAG,OAAO,EAAE,EAAE,kBAAkB,GAAI,OAAO,CAAC,QAAQ,CAAC;IA8BpF,QAAQ,CAAE,KAAK,EAAE,MAAM,GAAI,IAAI;CAGhC"}
|
package/dist/allend/Access.js
CHANGED
|
@@ -1,3 +1,14 @@
|
|
|
1
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
2
|
+
var t = {};
|
|
3
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
4
|
+
t[p] = s[p];
|
|
5
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
6
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
8
|
+
t[p[i]] = s[p[i]];
|
|
9
|
+
}
|
|
10
|
+
return t;
|
|
11
|
+
};
|
|
1
12
|
export default class Access {
|
|
2
13
|
constructor(options) {
|
|
3
14
|
if (!options)
|
|
@@ -13,7 +24,8 @@ export default class Access {
|
|
|
13
24
|
? 'https://api.dedot.com'
|
|
14
25
|
: 'http://api.dedot.io:24800';
|
|
15
26
|
}
|
|
16
|
-
async request(
|
|
27
|
+
async request(_a) {
|
|
28
|
+
var { url } = _a, options = __rest(_a, ["url"]);
|
|
17
29
|
const rawOptions = {
|
|
18
30
|
method: 'GET',
|
|
19
31
|
headers: {
|
|
@@ -25,16 +37,14 @@ export default class Access {
|
|
|
25
37
|
rawOptions.headers.authorization = `Bearer ${this.accessToken}`;
|
|
26
38
|
if (options.body) {
|
|
27
39
|
rawOptions.headers['content-type'] = 'application/json';
|
|
28
|
-
options.body
|
|
40
|
+
if (typeof options.body === 'object')
|
|
41
|
+
options.body = JSON.stringify(options.body);
|
|
29
42
|
}
|
|
30
43
|
if (typeof options.headers == 'object')
|
|
31
44
|
options.headers = Object.assign(Object.assign({}, options.headers), rawOptions.headers);
|
|
32
45
|
options = Object.assign(Object.assign({}, rawOptions), options);
|
|
33
|
-
if (!options.url)
|
|
34
|
-
throw new Error('Undefined request <url>');
|
|
35
|
-
const url = `${this.baseURL}/v${this.version}/${options.url.replace(/^\//, '')}`;
|
|
36
46
|
// React Native has built-in fetch
|
|
37
|
-
return await (await fetch(url
|
|
47
|
+
return await (await fetch(`${this.baseURL}/v${this.version}/${url.replace(/^\//, '')}`, options)).json();
|
|
38
48
|
}
|
|
39
49
|
setToken(token) {
|
|
40
50
|
this.accessToken = token;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Access.js","sourceRoot":"","sources":["../../src/allend/Access.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,OAAO,MAAM;IAMzB,YAAa,OAAsB;QACjC,IAAI,CAAC,OAAO;YAAG,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;QAChE,IAAI,CAAC,OAAO,CAAC,SAAS;YAAG,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;QACzE,IAAI,CAAC,OAAO,CAAC,WAAW;YAAG,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;QAEpE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC,CAAA;QACnC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAA;QACtC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAA;QACxC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,KAAK,MAAM;YACnC,CAAC,CAAC,uBAAuB;YACzB,CAAC,CAAC,2BAA2B,CAAA;IACjC,CAAC;IAED,KAAK,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"Access.js","sourceRoot":"","sources":["../../src/allend/Access.ts"],"names":[],"mappings":";;;;;;;;;;;AAGA,MAAM,CAAC,OAAO,OAAO,MAAM;IAMzB,YAAa,OAAsB;QACjC,IAAI,CAAC,OAAO;YAAG,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;QAChE,IAAI,CAAC,OAAO,CAAC,SAAS;YAAG,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;QACzE,IAAI,CAAC,OAAO,CAAC,WAAW;YAAG,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;QAEpE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC,CAAA;QACnC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAA;QACtC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAA;QACxC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,KAAK,MAAM;YACnC,CAAC,CAAC,uBAAuB;YACzB,CAAC,CAAC,2BAA2B,CAAA;IACjC,CAAC;IAED,KAAK,CAAC,OAAO,CAAW,EAAuC;YAAvC,EAAE,GAAG,OAAkC,EAA7B,OAAO,cAAjB,OAAmB,CAAF;QACvC,MAAM,UAAU,GAAQ;YACtB,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACP,MAAM,EAAE,IAAI,CAAC,YAAY;gBACzB,cAAc,EAAE,aAAa,IAAI,CAAC,OAAO,IAAI;aAC9C;SACF,CAAA;QAED,IAAI,IAAI,CAAC,WAAW;YAClB,UAAU,CAAC,OAAO,CAAC,aAAa,GAAG,UAAU,IAAI,CAAC,WAAW,EAAE,CAAA;QAEjE,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAA;YACvD,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ;gBAClC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAE,OAAO,CAAC,IAAI,CAAE,CAAA;QACjD,CAAC;QAED,IAAI,OAAO,OAAO,CAAC,OAAO,IAAI,QAAQ;YACpC,OAAO,CAAC,OAAO,mCACV,OAAO,CAAC,OAAO,GACf,UAAU,CAAC,OAAO,CACtB,CAAA;QAEH,OAAO,mCAAQ,UAAU,GAAK,OAAO,CAAE,CAAA;QAEvC,kCAAkC;QAClC,OAAO,MAAM,CAAE,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,OAAO,CAAE,CAAE,CAAC,IAAI,EAAc,CAAA;IACzH,CAAC;IAED,QAAQ,CAAE,KAAa;QACrB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAA;IAC1B,CAAC;CACF"}
|
package/dist/backend/Auth.js
CHANGED
|
@@ -1,3 +1,14 @@
|
|
|
1
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
2
|
+
var t = {};
|
|
3
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
4
|
+
t[p] = s[p];
|
|
5
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
6
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
8
|
+
t[p[i]] = s[p[i]];
|
|
9
|
+
}
|
|
10
|
+
return t;
|
|
11
|
+
};
|
|
1
12
|
const ACCESS_TOKEN_EXPIRY = 3.75; // in 3 minutes 45 seconds
|
|
2
13
|
export default class Auth {
|
|
3
14
|
constructor(creds, options) {
|
|
@@ -16,7 +27,8 @@ export default class Auth {
|
|
|
16
27
|
this.baseURL = (options === null || options === void 0 ? void 0 : options.env) === 'prod' ? 'https://api.dedot.io' : 'http://api.dedot.io:24800';
|
|
17
28
|
this.autorefresh = (options === null || options === void 0 ? void 0 : options.autorefresh) || false;
|
|
18
29
|
}
|
|
19
|
-
async request(
|
|
30
|
+
async request(_a) {
|
|
31
|
+
var { url } = _a, options = __rest(_a, ["url"]);
|
|
20
32
|
const rawOptions = {
|
|
21
33
|
method: 'GET',
|
|
22
34
|
headers: {
|
|
@@ -31,13 +43,14 @@ export default class Auth {
|
|
|
31
43
|
};
|
|
32
44
|
if (this.accessToken)
|
|
33
45
|
rawOptions.headers.authorization = `Bearer ${this.accessToken}`;
|
|
34
|
-
if (options.body)
|
|
46
|
+
if (options.body) {
|
|
35
47
|
rawOptions.headers['content-type'] = 'application/json';
|
|
48
|
+
if (typeof options.body === 'object')
|
|
49
|
+
options.body = JSON.stringify(options.body);
|
|
50
|
+
}
|
|
36
51
|
options = Object.assign(Object.assign({}, rawOptions), options);
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
console.log('Auth request', `${this.baseURL}/v${this.version}/${options.url.replace(/^\//, '')}`, options);
|
|
40
|
-
const response = await fetch(`${this.baseURL}/v${this.version}/${options.url.replace(/^\//, '')}`, options);
|
|
52
|
+
console.log('Auth request', `${this.baseURL}/v${this.version}/${url.replace(/^\//, '')}`, options);
|
|
53
|
+
const response = await fetch(`${this.baseURL}/v${this.version}/${url.replace(/^\//, '')}`, options);
|
|
41
54
|
return await response.json();
|
|
42
55
|
}
|
|
43
56
|
async getToken() {
|
package/dist/backend/Auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Auth.js","sourceRoot":"","sources":["../../src/backend/Auth.ts"],"names":[],"mappings":"AAEA,MAAM,mBAAmB,GAAG,IAAI,CAAA,CAAC,0BAA0B;AAQ3D,MAAM,CAAC,OAAO,OAAO,IAAI;IAQvB,YAAa,KAAsB,EAAE,OAAqB;QACxD,IAAI,CAAC,KAAK;YAAG,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAA;QAC1F,IAAI,CAAC,KAAK,CAAC,SAAS;YAAG,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAA;QAC5G,IAAI,CAAC,KAAK,CAAC,YAAY;YAAG,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAA;QACzG,IAAI,CAAC,KAAK,CAAC,GAAG;YAAG,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAA;QAC/F,IAAI,CAAC,KAAK,CAAC,MAAM;YAAG,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAA;QAEtG,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,OAAO,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,KAAI,CAAC,CAAA;QACpC,IAAI,CAAC,OAAO,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,MAAK,MAAM,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,2BAA2B,CAAA;QAC7F,IAAI,CAAC,WAAW,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,KAAI,KAAK,CAAA;IAClD,CAAC;IAEO,KAAK,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"Auth.js","sourceRoot":"","sources":["../../src/backend/Auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export type AuthOptions = {
|
|
2
|
+
env?: 'dev' | 'prod'
|
|
3
|
+
version?: number
|
|
4
|
+
autorefresh?: boolean
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
export type AuthCredentials = {
|
|
8
|
+
workspace: string
|
|
9
|
+
remoteOrigin: string
|
|
10
|
+
cid: string
|
|
11
|
+
secret: string
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export type SocketAuthCredentials = {
|
|
15
|
+
utype: string
|
|
16
|
+
id: string
|
|
17
|
+
remoteOrigin: string
|
|
18
|
+
accessToken: string
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export type AuthRequestOptions = {
|
|
22
|
+
url: string
|
|
23
|
+
method: 'GET' | 'POST' | 'PATCH' | 'PUT' | 'DELETE'
|
|
24
|
+
headers?: { [index: string]: string }
|
|
25
|
+
body?: any
|
|
26
|
+
}
|
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
export type HTTPRequestOptions = {
|
|
2
|
+
url: string
|
|
3
|
+
method: 'GET' | 'POST' | 'PATCH' | 'PUT' | 'DELETE'
|
|
4
|
+
headers?: { [index: string]: string }
|
|
5
|
+
body?: any
|
|
6
|
+
}
|
|
7
|
+
export type HTTPResponse = {
|
|
8
|
+
error: boolean
|
|
9
|
+
message?: string
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export type LngLat = [number, number]
|
|
13
|
+
export type Coordinates = {
|
|
14
|
+
lng: number
|
|
15
|
+
lat: number
|
|
16
|
+
}
|
|
17
|
+
export type PickedLocation = {
|
|
18
|
+
point: {
|
|
19
|
+
x: number,
|
|
20
|
+
y: number
|
|
21
|
+
}
|
|
22
|
+
coordinates: Coordinates
|
|
23
|
+
}
|
|
24
|
+
export type GPSLocation = Coordinates & {
|
|
25
|
+
heading?: number
|
|
26
|
+
}
|
|
27
|
+
export type ActivePosition = {
|
|
28
|
+
id: string
|
|
29
|
+
position: GPSLocation
|
|
30
|
+
caption?: Caption
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Configuration options for AnimatedPolyline
|
|
35
|
+
*/
|
|
36
|
+
export type AnimatedRouteNativePathType = 'dot' | 'solid'
|
|
37
|
+
export type AnimatedRouteNativeMethods = 'dot:flow'
|
|
38
|
+
| 'dot:fade'
|
|
39
|
+
| 'dot:pulse'
|
|
40
|
+
| 'dot:directional'
|
|
41
|
+
| 'solid:flow'
|
|
42
|
+
| 'solid:fade'
|
|
43
|
+
| 'solid:pulse'
|
|
44
|
+
| 'solid:directional'
|
|
45
|
+
export interface AnimatedRouteRules {
|
|
46
|
+
styles?: any;
|
|
47
|
+
speed?: number; // pixels per frame
|
|
48
|
+
fadeLength?: number; // length of fade effect in pixels
|
|
49
|
+
}
|
|
50
|
+
export interface AnimatedRoute {
|
|
51
|
+
key: number | null
|
|
52
|
+
currentOffset: number
|
|
53
|
+
rules: Required<AnimatedRouteRules>
|
|
54
|
+
startTime?: number;
|
|
55
|
+
polyline?: any
|
|
56
|
+
engine: any
|
|
57
|
+
path: Coordinates[]
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Create the polyline
|
|
61
|
+
*/
|
|
62
|
+
create( pathType?: AnimatedRouteNativePathType ): void;
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Animation methods
|
|
66
|
+
*/
|
|
67
|
+
apply: Record<string, () => void>;
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Stop the current animation
|
|
71
|
+
*/
|
|
72
|
+
stop(): void;
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Remove the polyline from the map and stop animation
|
|
76
|
+
*/
|
|
77
|
+
remove(): void;
|
|
78
|
+
}
|
|
79
|
+
export type AnimatedRouteOptions = AnimatedRouteNativeMethods | {
|
|
80
|
+
handler?: new (engine: Engine, path: Coordinates[], rules?: AnimatedRouteRules) => AnimatedRoute
|
|
81
|
+
method?: string
|
|
82
|
+
rules?: AnimatedRouteRules
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
export type Journey = {
|
|
86
|
+
routeId: string | number
|
|
87
|
+
origin?: MapWaypoint
|
|
88
|
+
destination?: MapWaypoint
|
|
89
|
+
waypoints?: MapWaypoint[]
|
|
90
|
+
options?: RouteOptions
|
|
91
|
+
}
|
|
92
|
+
export type ActiveDirection = {
|
|
93
|
+
routeId: string | number
|
|
94
|
+
profile: string
|
|
95
|
+
origin?: Coordinates
|
|
96
|
+
destination?: Coordinates
|
|
97
|
+
waypoints: Coordinates[]
|
|
98
|
+
route: any
|
|
99
|
+
}
|
|
100
|
+
export type RouteOptions = {
|
|
101
|
+
id?: string | number
|
|
102
|
+
mode?: 'default' | 'navigation'
|
|
103
|
+
profile?: 'driving-traffic' | 'driving' | 'cycling' | 'biking' | 'walking' | 'transit'
|
|
104
|
+
unit?: 'metric' | 'imperial',
|
|
105
|
+
preference?: 'TRAFFIC_AWARE' | 'TRAFFIC_UNAWARE'
|
|
106
|
+
pointless?: boolean
|
|
107
|
+
styles?: any
|
|
108
|
+
animation?: AnimatedRouteOptions
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
export type SearchPlace = {
|
|
112
|
+
name: string
|
|
113
|
+
location: Coordinates,
|
|
114
|
+
address: string
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
export type Waypoint = {
|
|
118
|
+
no: number
|
|
119
|
+
type: 'pickup' | 'dropoff'
|
|
120
|
+
description: string
|
|
121
|
+
coordinates: Coordinates
|
|
122
|
+
address?: string
|
|
123
|
+
contact: {
|
|
124
|
+
type: string
|
|
125
|
+
reference: string
|
|
126
|
+
phone?: string
|
|
127
|
+
email?: string
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
export type WaypointIndex = 'origin' | 'destination' | number
|
|
131
|
+
export type WaypointOptions = {
|
|
132
|
+
no?: number
|
|
133
|
+
type?: 'pickup' | 'dropoff'
|
|
134
|
+
description?: string
|
|
135
|
+
coordinates?: Coordinates
|
|
136
|
+
address?: string
|
|
137
|
+
'contact.type'?: string
|
|
138
|
+
'contact.reference'?: string
|
|
139
|
+
'contact.phone'?: string
|
|
140
|
+
'contact.email'?: string
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
export type Package = {
|
|
144
|
+
waypointNo: number
|
|
145
|
+
careLevel: number
|
|
146
|
+
category: string
|
|
147
|
+
weight: number
|
|
148
|
+
note?: string
|
|
149
|
+
}
|
|
150
|
+
export type PackageOptions = {
|
|
151
|
+
waypointNo?: number
|
|
152
|
+
careLevel?: number
|
|
153
|
+
category?: string
|
|
154
|
+
weight?: number
|
|
155
|
+
note?: string
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
export type PaymentMode = 'cash' | 'card' | 'momo' | 'wigo'
|
|
159
|
+
export type OrderService = {
|
|
160
|
+
fees: {
|
|
161
|
+
total: {
|
|
162
|
+
amount: number
|
|
163
|
+
currency: string
|
|
164
|
+
},
|
|
165
|
+
tax: number
|
|
166
|
+
discount: number
|
|
167
|
+
}
|
|
168
|
+
payment: {
|
|
169
|
+
mode: PaymentMode
|
|
170
|
+
paid: boolean
|
|
171
|
+
}
|
|
172
|
+
xpress: string
|
|
173
|
+
}
|
|
174
|
+
export type OrderServiceOptions = {
|
|
175
|
+
'fees.total.amount'?: number
|
|
176
|
+
'fees.total.currency'?: string
|
|
177
|
+
'fees.tax'?: string
|
|
178
|
+
'fees.discount'?: string
|
|
179
|
+
'payment.mode'?: PaymentMode
|
|
180
|
+
'payment.option'?: string
|
|
181
|
+
'payment.paid'?: boolean
|
|
182
|
+
xpress?: string
|
|
183
|
+
}
|
|
184
|
+
export type OrderOperator = {}
|
|
185
|
+
export type OrderStage = {
|
|
186
|
+
current: string
|
|
187
|
+
status: string
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
export type Message = {
|
|
191
|
+
type: 'text' | 'location' | 'media'
|
|
192
|
+
sender: string
|
|
193
|
+
content: string
|
|
194
|
+
timestamp: string
|
|
195
|
+
}
|
|
196
|
+
export type Caption = {
|
|
197
|
+
duration?: number
|
|
198
|
+
unit?: string
|
|
199
|
+
label?: string
|
|
200
|
+
}
|
|
201
|
+
export type Peer = {
|
|
202
|
+
utype: string
|
|
203
|
+
id: string
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
export type MapOptions = {
|
|
207
|
+
element: string
|
|
208
|
+
accessToken: string
|
|
209
|
+
version?: number
|
|
210
|
+
env?: 'dev' | 'prod'
|
|
211
|
+
}
|
|
212
|
+
export type MapLayerStyle = 'streets' | 'outdoors' | 'light' | 'dark' | 'satellite'
|
|
213
|
+
export type MapWaypoint = {
|
|
214
|
+
index?: number
|
|
215
|
+
coords: Coordinates
|
|
216
|
+
caption?: Caption
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
export type Entity = {
|
|
220
|
+
id: string
|
|
221
|
+
status: 'ACTIVE' | 'BUSY'
|
|
222
|
+
grade: '1H' | '2H' | '3H'
|
|
223
|
+
currentLocation: GPSLocation
|
|
224
|
+
static?: boolean
|
|
225
|
+
type: 'moto' | 'car' | 'bike' | 'truck' | 'plane' | 'ship' | 'restaurant' | 'hotel' | 'store' | 'office' | 'warehouse'
|
|
226
|
+
}
|
|
227
|
+
export type EntitySpecs = {
|
|
228
|
+
id: string
|
|
229
|
+
status: 'ACTIVE' | 'BUSY'
|
|
230
|
+
grade: '1H' | '2H' | '3H'
|
|
231
|
+
currentLocation: GPSLocation
|
|
232
|
+
static?: boolean
|
|
233
|
+
type: 'moto' | 'car' | 'bike' | 'truck' | 'plane' | 'ship' | 'restaurant' | 'hotel' | 'store' | 'office' | 'warehouse'
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
export interface UserLocationOptions {
|
|
237
|
+
// Base point styling options
|
|
238
|
+
borderRadius?: number
|
|
239
|
+
borderColor?: string
|
|
240
|
+
borderOpacity?: number
|
|
241
|
+
dotColor?: string
|
|
242
|
+
showInnerDot?: boolean
|
|
243
|
+
noRing?: boolean
|
|
244
|
+
|
|
245
|
+
// User location specific options
|
|
246
|
+
showDirectionArrow?: boolean
|
|
247
|
+
arrowColor?: string
|
|
248
|
+
arrowSize?: number
|
|
249
|
+
pulseAnimation?: boolean
|
|
250
|
+
accuracyCircle?: boolean
|
|
251
|
+
accuracyColor?: string
|
|
252
|
+
accuracyOpacity?: number
|
|
253
|
+
|
|
254
|
+
// Callbacks
|
|
255
|
+
onLocationUpdate?: ( location: GPSLocation ) => void
|
|
256
|
+
onLocationError?: ( error: GeolocationPositionError ) => void
|
|
257
|
+
}
|
|
258
|
+
export type DragPickOptions = {
|
|
259
|
+
snapToRoad?: boolean
|
|
260
|
+
pinPoints?: boolean
|
|
261
|
+
pointOptions?: CustomPointOptions
|
|
262
|
+
}
|
|
263
|
+
export type DragPickContentType = 'duration' | 'distance' | 'preloader'
|
|
264
|
+
export type DragPickContent = {
|
|
265
|
+
time?: number
|
|
266
|
+
unit?: 'min' | 'sec' | 'hr' | 'km' | 'mi' | 'm'
|
|
267
|
+
distance?: number
|
|
268
|
+
preloader?: boolean
|
|
269
|
+
}
|
|
270
|
+
export type DragPickEvent = 'dragstart' | 'dragend' | 'zoom_changed' | 'idle'
|
|
271
|
+
export interface DragPickInterface {
|
|
272
|
+
enable( origin?: Coordinates ): void
|
|
273
|
+
disable(): void
|
|
274
|
+
content( type: DragPickContentType, content: DragPickContent ): void
|
|
275
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@de./sdk-rn",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.3",
|
|
4
4
|
"description": "Complete SDK pack for MSI React Native (Map Service Interface) and DClient services",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -12,14 +12,21 @@
|
|
|
12
12
|
"exports": {
|
|
13
13
|
".": {
|
|
14
14
|
"import": "./dist/index.js",
|
|
15
|
-
"require": "./dist/index.js"
|
|
15
|
+
"require": "./dist/index.js",
|
|
16
|
+
"types": "./dist/index.d.ts"
|
|
17
|
+
},
|
|
18
|
+
"./types": {
|
|
19
|
+
"types": "./dist/types/index.d.ts",
|
|
20
|
+
"default": "./dist/types/index.d.ts"
|
|
16
21
|
}
|
|
17
22
|
},
|
|
18
23
|
"author": "SCOREX Corporation",
|
|
19
24
|
"private": false,
|
|
20
25
|
"scripts": {
|
|
21
26
|
"build:tsc": "rimraf ./dist && tsc",
|
|
22
|
-
"
|
|
27
|
+
"build:copy-types": "mkdir -p dist/types && cp -r src/types/* dist/types/",
|
|
28
|
+
"build": "yarn build:tsc && yarn build:copy-types",
|
|
29
|
+
"compile": "yarn build",
|
|
23
30
|
"prepack": "yarn run compile",
|
|
24
31
|
"test": "echo 'Error: No test specified' && exit 1",
|
|
25
32
|
"test:msi": "yarn build:tsc && jest test/msi.test.js",
|
package/src/allend/Access.ts
CHANGED
|
@@ -20,7 +20,7 @@ export default class Access {
|
|
|
20
20
|
: 'http://api.dedot.io:24800'
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
async request<Response>( options: HTTPRequestOptions ): Promise<Response> {
|
|
23
|
+
async request<Response>({ url, ...options }: HTTPRequestOptions ): Promise<Response> {
|
|
24
24
|
const rawOptions: any = {
|
|
25
25
|
method: 'GET',
|
|
26
26
|
headers: {
|
|
@@ -34,7 +34,8 @@ export default class Access {
|
|
|
34
34
|
|
|
35
35
|
if( options.body ){
|
|
36
36
|
rawOptions.headers['content-type'] = 'application/json'
|
|
37
|
-
options.body
|
|
37
|
+
if( typeof options.body === 'object' )
|
|
38
|
+
options.body = JSON.stringify( options.body )
|
|
38
39
|
}
|
|
39
40
|
|
|
40
41
|
if( typeof options.headers == 'object' )
|
|
@@ -44,12 +45,9 @@ export default class Access {
|
|
|
44
45
|
}
|
|
45
46
|
|
|
46
47
|
options = { ...rawOptions, ...options }
|
|
47
|
-
|
|
48
|
-
if( !options.url ) throw new Error('Undefined request <url>')
|
|
49
|
-
const url = `${this.baseURL}/v${this.version}/${options.url.replace(/^\//, '')}`
|
|
50
|
-
|
|
48
|
+
|
|
51
49
|
// React Native has built-in fetch
|
|
52
|
-
return await ( await fetch(
|
|
50
|
+
return await ( await fetch(`${this.baseURL}/v${this.version}/${url.replace(/^\//, '')}`, options ) ).json() as Response
|
|
53
51
|
}
|
|
54
52
|
|
|
55
53
|
setToken( token: string ): void {
|
package/src/backend/Auth.ts
CHANGED
|
@@ -29,7 +29,7 @@ export default class Auth {
|
|
|
29
29
|
this.autorefresh = options?.autorefresh || false
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
private async request<T>( options: AuthRequestOptions ): Promise<T>{
|
|
32
|
+
private async request<T>({ url, ...options }: AuthRequestOptions ): Promise<T>{
|
|
33
33
|
const rawOptions: any = {
|
|
34
34
|
method: 'GET',
|
|
35
35
|
headers: {
|
|
@@ -46,16 +46,16 @@ export default class Auth {
|
|
|
46
46
|
if( this.accessToken )
|
|
47
47
|
rawOptions.headers.authorization = `Bearer ${this.accessToken}`
|
|
48
48
|
|
|
49
|
-
if( options.body )
|
|
49
|
+
if( options.body ){
|
|
50
50
|
rawOptions.headers['content-type'] = 'application/json'
|
|
51
|
+
if( typeof options.body === 'object' )
|
|
52
|
+
options.body = JSON.stringify( options.body )
|
|
53
|
+
}
|
|
51
54
|
|
|
52
55
|
options = { ...rawOptions, ...options }
|
|
53
|
-
if( !options.url )
|
|
54
|
-
throw new Error('Undefined request <url>')
|
|
55
56
|
|
|
56
|
-
console.log('Auth request', `${this.baseURL}/v${this.version}/${
|
|
57
|
-
|
|
58
|
-
const response = await fetch(`${this.baseURL}/v${this.version}/${options.url.replace(/^\//, '')}`, options )
|
|
57
|
+
console.log('Auth request', `${this.baseURL}/v${this.version}/${url.replace(/^\//, '')}`, options )
|
|
58
|
+
const response = await fetch(`${this.baseURL}/v${this.version}/${url.replace(/^\//, '')}`, options )
|
|
59
59
|
|
|
60
60
|
return await response.json() as T
|
|
61
61
|
}
|