@smartsheet-extensions/handler 1.0.0-beta.4 → 1.0.0-beta.7
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/lib/enhancers/handleBigPayLoad.d.ts +6 -1
- package/lib/enhancers/handleBigPayLoad.d.ts.map +1 -1
- package/lib/enhancers/handleBigPayLoad.js +123 -40
- package/lib/enhancers/handleBigPayLoad.js.map +1 -1
- package/lib/errors/PayloadLimitExceedError.d.ts +8 -0
- package/lib/errors/PayloadLimitExceedError.d.ts.map +1 -0
- package/lib/errors/PayloadLimitExceedError.js +19 -0
- package/lib/errors/PayloadLimitExceedError.js.map +1 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/utils/constants.d.ts +6 -0
- package/lib/utils/constants.d.ts.map +1 -0
- package/lib/utils/constants.js +9 -0
- package/lib/utils/constants.js.map +1 -0
- package/package.json +1 -1
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
import FormData from 'form-data';
|
|
1
2
|
import { ExtensionHandlerEnhancer } from '../handler';
|
|
2
|
-
export
|
|
3
|
+
export interface PostResult {
|
|
4
|
+
data: FormData;
|
|
5
|
+
url: string;
|
|
6
|
+
}
|
|
7
|
+
export declare const handleBigPayLoad: ExtensionHandlerEnhancer<import("../handler").DefaultExtensionHandler, import("../handler").DefaultExtensionHandler>;
|
|
3
8
|
//# sourceMappingURL=handleBigPayLoad.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleBigPayLoad.d.ts","sourceRoot":"","sources":["../../src/enhancers/handleBigPayLoad.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"handleBigPayLoad.d.ts","sourceRoot":"","sources":["../../src/enhancers/handleBigPayLoad.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,WAAW,CAAC;AAIjC,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAetD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,QAAQ,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACb;AAiND,eAAO,MAAM,gBAAgB,sHAiB5B,CAAC"}
|
|
@@ -15,39 +15,69 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
15
|
exports.handleBigPayLoad = void 0;
|
|
16
16
|
const axios_1 = __importDefault(require("axios"));
|
|
17
17
|
const form_data_1 = __importDefault(require("form-data"));
|
|
18
|
-
const PlatformResponse_1 = require("../responses/PlatformResponse");
|
|
19
18
|
const PayloadFetchError_1 = require("../errors/PayloadFetchError");
|
|
19
|
+
const PayloadLimitExceedError_1 = require("../errors/PayloadLimitExceedError");
|
|
20
20
|
const PayloadPostError_1 = require("../errors/PayloadPostError");
|
|
21
|
-
const
|
|
22
|
-
const
|
|
21
|
+
const PlatformResponse_1 = require("../responses/PlatformResponse");
|
|
22
|
+
const constants_1 = require("../utils/constants");
|
|
23
|
+
const normalizeError_1 = require("../utils/normalizeError");
|
|
24
|
+
const xorHandler_1 = require("./xorHandler");
|
|
25
|
+
const retryWrapper = (func, retryTimes) => __awaiter(void 0, void 0, void 0, function* () {
|
|
26
|
+
for (let counter = retryTimes - 1; counter >= 0; counter -= 1) {
|
|
27
|
+
try {
|
|
28
|
+
// eslint-disable-next-line no-await-in-loop
|
|
29
|
+
const resp = yield func();
|
|
30
|
+
return resp.data;
|
|
31
|
+
}
|
|
32
|
+
catch (error) {
|
|
33
|
+
if (counter === 0) {
|
|
34
|
+
throw error;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
});
|
|
23
39
|
const getPayloadFromS3 = (url) => __awaiter(void 0, void 0, void 0, function* () {
|
|
24
|
-
const resp = yield axios_1.default.get(url);
|
|
25
|
-
return resp
|
|
40
|
+
const resp = yield retryWrapper(() => __awaiter(void 0, void 0, void 0, function* () { return axios_1.default.get(url); }), constants_1.S3_GET_RETRY_LIMIT);
|
|
41
|
+
return resp;
|
|
26
42
|
});
|
|
27
|
-
const
|
|
43
|
+
const preparePostResult = (url, payload) => {
|
|
28
44
|
const urlObj = new URL(decodeURI(url));
|
|
29
45
|
const formData = new form_data_1.default();
|
|
30
46
|
const urlVal = urlObj.origin + urlObj.pathname;
|
|
31
|
-
urlObj.searchParams.forEach(
|
|
47
|
+
urlObj.searchParams.forEach((value, key) => {
|
|
32
48
|
formData.append(key, value);
|
|
33
49
|
});
|
|
34
|
-
|
|
35
|
-
|
|
50
|
+
let payloadStr = JSON.stringify(payload);
|
|
51
|
+
if (payloadStr.length > constants_1.PAYLOAD_LIMIT) {
|
|
52
|
+
payloadStr = JSON.stringify(normalizeError_1.normalizeError(new PayloadLimitExceedError_1.PayloadLimitExceedError()).toJSON());
|
|
53
|
+
}
|
|
54
|
+
formData.append('file', payloadStr);
|
|
55
|
+
return {
|
|
56
|
+
data: formData,
|
|
57
|
+
url: urlVal,
|
|
58
|
+
};
|
|
59
|
+
};
|
|
60
|
+
const postPayloadToS3 = (result) => __awaiter(void 0, void 0, void 0, function* () {
|
|
61
|
+
const { data, url } = result;
|
|
62
|
+
const config = {
|
|
36
63
|
headers: {
|
|
37
64
|
'Content-Type': 'multipart/form-data',
|
|
38
|
-
'Content-Length':
|
|
65
|
+
'Content-Length': result.data.getLengthSync(),
|
|
39
66
|
},
|
|
40
|
-
|
|
41
|
-
|
|
67
|
+
maxContentLength: Infinity,
|
|
68
|
+
maxBodyLength: Infinity,
|
|
69
|
+
};
|
|
70
|
+
const resp = yield retryWrapper(() => __awaiter(void 0, void 0, void 0, function* () { return axios_1.default.post(url, data, config); }), constants_1.S3_POST_RETRY_LIMIT);
|
|
71
|
+
return resp;
|
|
42
72
|
});
|
|
43
73
|
const isStreamExecution = (payload) => {
|
|
44
74
|
if (payload.meta !== undefined && payload.meta.type !== undefined) {
|
|
45
|
-
return payload.meta.type === STREAM_EXECUTION;
|
|
75
|
+
return payload.meta.type === constants_1.STREAM_EXECUTION;
|
|
46
76
|
}
|
|
47
77
|
};
|
|
48
78
|
const isS3Execution = (payload) => {
|
|
49
79
|
if (payload.meta !== undefined && payload.meta.type !== undefined) {
|
|
50
|
-
return payload.meta.type === S3_EXECUTION;
|
|
80
|
+
return payload.meta.type === constants_1.S3_EXECUTION;
|
|
51
81
|
}
|
|
52
82
|
};
|
|
53
83
|
const wrapS3Response = (result) => {
|
|
@@ -56,7 +86,7 @@ const wrapS3Response = (result) => {
|
|
|
56
86
|
data: result,
|
|
57
87
|
};
|
|
58
88
|
};
|
|
59
|
-
const
|
|
89
|
+
const handleGetError = (err) => {
|
|
60
90
|
if (axios_1.default.isAxiosError(err)) {
|
|
61
91
|
if (err.response) {
|
|
62
92
|
return new PayloadFetchError_1.PayloadFetchError(err.response.data);
|
|
@@ -82,39 +112,92 @@ const handlePostError = (err) => {
|
|
|
82
112
|
return new PayloadPostError_1.PayloadPostError(err.stack);
|
|
83
113
|
}
|
|
84
114
|
};
|
|
85
|
-
|
|
115
|
+
/**
|
|
116
|
+
* Handles payloads that aren't wrapped.
|
|
117
|
+
*/
|
|
118
|
+
const handlePassThroughPayload = create => {
|
|
86
119
|
return () => {
|
|
87
120
|
const handler = create();
|
|
88
121
|
return (payload, callback) => {
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
callback(err);
|
|
95
|
-
}
|
|
96
|
-
else {
|
|
97
|
-
putPayloadToS3(payload.body.postURL, result)
|
|
98
|
-
.then(resultNext => {
|
|
99
|
-
callback(err, wrapS3Response(resultNext));
|
|
100
|
-
})
|
|
101
|
-
.catch(s3Error => {
|
|
102
|
-
callback(handlePostError(s3Error));
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
});
|
|
106
|
-
})
|
|
107
|
-
.catch(s3GetErr => {
|
|
108
|
-
callback(handleFetchError(s3GetErr));
|
|
109
|
-
});
|
|
122
|
+
try {
|
|
123
|
+
handler(payload, callback);
|
|
124
|
+
}
|
|
125
|
+
catch (err) {
|
|
126
|
+
callback(err);
|
|
110
127
|
}
|
|
111
|
-
|
|
128
|
+
};
|
|
129
|
+
};
|
|
130
|
+
};
|
|
131
|
+
/**
|
|
132
|
+
* Handles payloads that are wrapped and `meta.type === 'streamExecution'`.
|
|
133
|
+
* The payload is wrapped but the response is still raw, passed straight
|
|
134
|
+
* from the extension's usercode.
|
|
135
|
+
*/
|
|
136
|
+
const handleStreamPayLoad = create => {
|
|
137
|
+
return () => {
|
|
138
|
+
const handler = create();
|
|
139
|
+
return (payload, callback) => {
|
|
140
|
+
try {
|
|
112
141
|
handler(payload.body.payload, callback);
|
|
113
142
|
}
|
|
114
|
-
|
|
115
|
-
|
|
143
|
+
catch (err) {
|
|
144
|
+
callback(err);
|
|
116
145
|
}
|
|
117
146
|
};
|
|
118
147
|
};
|
|
119
148
|
};
|
|
149
|
+
/**
|
|
150
|
+
* Handles payloads that are wrapped and `meta.type === 's3Execution'`.
|
|
151
|
+
* The payload is fetched from S3 and the response is posted to S3.
|
|
152
|
+
* Only Platform errors are returned via the callback.
|
|
153
|
+
*/
|
|
154
|
+
const handleS3PayLoad = create => {
|
|
155
|
+
return () => {
|
|
156
|
+
const handler = create();
|
|
157
|
+
const handlerAsPromise = (payload) => new Promise((resolve, reject) => {
|
|
158
|
+
handler(payload, (err, result) => {
|
|
159
|
+
if (err) {
|
|
160
|
+
reject(err);
|
|
161
|
+
}
|
|
162
|
+
else {
|
|
163
|
+
resolve(result);
|
|
164
|
+
}
|
|
165
|
+
});
|
|
166
|
+
});
|
|
167
|
+
return ({ body: { getURL, postURL } }, callback) => __awaiter(void 0, void 0, void 0, function* () {
|
|
168
|
+
getPayloadFromS3(getURL).then((payload) => {
|
|
169
|
+
return handlerAsPromise(payload)
|
|
170
|
+
.catch(upstreamErr => normalizeError_1.normalizeError(upstreamErr).toJSON())
|
|
171
|
+
.then(result => {
|
|
172
|
+
const resultToPost = preparePostResult(postURL, result);
|
|
173
|
+
// All upstream results, including errors.
|
|
174
|
+
postPayloadToS3(resultToPost).then(response => {
|
|
175
|
+
callback(null, wrapS3Response(response));
|
|
176
|
+
}, s3Error => {
|
|
177
|
+
// Only putPayloadToS3 error
|
|
178
|
+
callback(handlePostError(s3Error));
|
|
179
|
+
});
|
|
180
|
+
});
|
|
181
|
+
}, s3GetErr => {
|
|
182
|
+
// Only getPayloadFromS3 error
|
|
183
|
+
callback(handleGetError(s3GetErr));
|
|
184
|
+
});
|
|
185
|
+
});
|
|
186
|
+
};
|
|
187
|
+
};
|
|
188
|
+
exports.handleBigPayLoad = xorHandler_1.xorHandler({
|
|
189
|
+
passThroughPayload: handlePassThroughPayload,
|
|
190
|
+
streamPayload: handleStreamPayLoad,
|
|
191
|
+
s3Payload: handleS3PayLoad,
|
|
192
|
+
}, {
|
|
193
|
+
getFunctionKey: (payload) => {
|
|
194
|
+
if (isS3Execution(payload)) {
|
|
195
|
+
return 's3Payload';
|
|
196
|
+
}
|
|
197
|
+
if (isStreamExecution(payload)) {
|
|
198
|
+
return 'streamPayload';
|
|
199
|
+
}
|
|
200
|
+
return 'passThroughPayload';
|
|
201
|
+
},
|
|
202
|
+
});
|
|
120
203
|
//# sourceMappingURL=handleBigPayLoad.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleBigPayLoad.js","sourceRoot":"","sources":["../../src/enhancers/handleBigPayLoad.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"handleBigPayLoad.js","sourceRoot":"","sources":["../../src/enhancers/handleBigPayLoad.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { AbstractError } from './AbstractError';
|
|
2
|
+
export declare class PayloadLimitExceedError extends AbstractError {
|
|
3
|
+
static CODE: string;
|
|
4
|
+
static STATUS: number;
|
|
5
|
+
static DESCRIPTION: string;
|
|
6
|
+
constructor();
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=PayloadLimitExceedError.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PayloadLimitExceedError.d.ts","sourceRoot":"","sources":["../../src/errors/PayloadLimitExceedError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,qBAAa,uBAAwB,SAAQ,aAAa;IACxD,OAAc,IAAI,SAAgC;IAClD,OAAc,MAAM,SAAO;IAC3B,OAAc,WAAW,SACiC;;CAQ3D"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PayloadLimitExceedError = void 0;
|
|
4
|
+
const AbstractError_1 = require("./AbstractError");
|
|
5
|
+
const InternalError_1 = require("./InternalError");
|
|
6
|
+
class PayloadLimitExceedError extends AbstractError_1.AbstractError {
|
|
7
|
+
constructor() {
|
|
8
|
+
super({
|
|
9
|
+
httpStatus: InternalError_1.InternalError.STATUS,
|
|
10
|
+
code: PayloadLimitExceedError.CODE,
|
|
11
|
+
description: PayloadLimitExceedError.DESCRIPTION,
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
exports.PayloadLimitExceedError = PayloadLimitExceedError;
|
|
16
|
+
PayloadLimitExceedError.CODE = 'PAYLOAD_LIMIT_EXCEED_ERROR';
|
|
17
|
+
PayloadLimitExceedError.STATUS = 413;
|
|
18
|
+
PayloadLimitExceedError.DESCRIPTION = 'Platform does not support payloads larger than 48 MB.';
|
|
19
|
+
//# sourceMappingURL=PayloadLimitExceedError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PayloadLimitExceedError.js","sourceRoot":"","sources":["../../src/errors/PayloadLimitExceedError.ts"],"names":[],"mappings":";;;AAAA,mDAAgD;AAChD,mDAAgD;AAEhD,MAAa,uBAAwB,SAAQ,6BAAa;IAKxD;QACE,KAAK,CAAC;YACJ,UAAU,EAAE,6BAAa,CAAC,MAAM;YAChC,IAAI,EAAE,uBAAuB,CAAC,IAAI;YAClC,WAAW,EAAE,uBAAuB,CAAC,WAAW;SACjD,CAAC,CAAC;IACL,CAAC;;AAXH,0DAYC;AAXe,4BAAI,GAAG,4BAA4B,CAAC;AACpC,8BAAM,GAAG,GAAG,CAAC;AACb,mCAAW,GACvB,uDAAuD,CAAC"}
|
package/lib/index.d.ts
CHANGED
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,WAAW,CAAC;AAC1B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,WAAW,CAAC;AAC1B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC"}
|
package/lib/index.js
CHANGED
|
@@ -30,4 +30,5 @@ __exportStar(require("./transports/httpTransport"), exports);
|
|
|
30
30
|
__exportStar(require("./transports/lambdaTransport"), exports);
|
|
31
31
|
__exportStar(require("./utils/compose"), exports);
|
|
32
32
|
__exportStar(require("./utils/serializable"), exports);
|
|
33
|
+
__exportStar(require("./utils/constants"), exports);
|
|
33
34
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gEAA8C;AAC9C,yDAAuC;AACvC,6DAA2C;AAC3C,2DAAyC;AACzC,mEAAiD;AACjD,yDAAuC;AACvC,+DAA6C;AAC7C,yDAAuC;AACvC,2DAAyC;AACzC,0DAAwC;AACxC,yDAAuC;AACvC,yDAAuC;AACvC,yDAAuC;AACvC,4CAA0B;AAC1B,4DAA0C;AAC1C,gEAA8C;AAC9C,6DAA2C;AAC3C,+DAA6C;AAC7C,kDAAgC;AAChC,uDAAqC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gEAA8C;AAC9C,yDAAuC;AACvC,6DAA2C;AAC3C,2DAAyC;AACzC,mEAAiD;AACjD,yDAAuC;AACvC,+DAA6C;AAC7C,yDAAuC;AACvC,2DAAyC;AACzC,0DAAwC;AACxC,yDAAuC;AACvC,yDAAuC;AACvC,yDAAuC;AACvC,4CAA0B;AAC1B,4DAA0C;AAC1C,gEAA8C;AAC9C,6DAA2C;AAC3C,+DAA6C;AAC7C,kDAAgC;AAChC,uDAAqC;AACrC,oDAAkC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const S3_EXECUTION = "s3Execution";
|
|
2
|
+
export declare const STREAM_EXECUTION = "streamExecution";
|
|
3
|
+
export declare const PAYLOAD_LIMIT: number;
|
|
4
|
+
export declare const S3_GET_RETRY_LIMIT: number;
|
|
5
|
+
export declare const S3_POST_RETRY_LIMIT: number;
|
|
6
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,gBAAgB,CAAC;AAC1C,eAAO,MAAM,gBAAgB,oBAAoB,CAAC;AAClD,eAAO,MAAM,aAAa,QAAmB,CAAC;AAE9C,eAAO,MAAM,kBAAkB,EAAE,MAAU,CAAC;AAC5C,eAAO,MAAM,mBAAmB,EAAE,MAAU,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.S3_POST_RETRY_LIMIT = exports.S3_GET_RETRY_LIMIT = exports.PAYLOAD_LIMIT = exports.STREAM_EXECUTION = exports.S3_EXECUTION = void 0;
|
|
4
|
+
exports.S3_EXECUTION = 's3Execution';
|
|
5
|
+
exports.STREAM_EXECUTION = 'streamExecution';
|
|
6
|
+
exports.PAYLOAD_LIMIT = 48 * 1024 * 1024;
|
|
7
|
+
exports.S3_GET_RETRY_LIMIT = 3;
|
|
8
|
+
exports.S3_POST_RETRY_LIMIT = 3;
|
|
9
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,YAAY,GAAG,aAAa,CAAC;AAC7B,QAAA,gBAAgB,GAAG,iBAAiB,CAAC;AACrC,QAAA,aAAa,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAEjC,QAAA,kBAAkB,GAAW,CAAC,CAAC;AAC/B,QAAA,mBAAmB,GAAW,CAAC,CAAC"}
|