smartling-api-sdk-nodejs 2.29.0 → 2.30.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.
Files changed (71) hide show
  1. package/.github/workflows/publish.yml +29 -0
  2. package/built/package.json +1 -1
  3. package/built/test/access-token-provider.spec.d.ts +1 -0
  4. package/built/test/access-token-provider.spec.js +25 -0
  5. package/built/test/access-token-provider.spec.js.map +1 -0
  6. package/built/test/auth.spec.d.ts +1 -0
  7. package/built/test/auth.spec.js +332 -0
  8. package/built/test/auth.spec.js.map +1 -0
  9. package/built/test/base-file.spec.d.ts +1 -0
  10. package/built/test/base-file.spec.js +53 -0
  11. package/built/test/base-file.spec.js.map +1 -0
  12. package/built/test/base.spec.d.ts +1 -0
  13. package/built/test/base.spec.js +558 -0
  14. package/built/test/base.spec.js.map +1 -0
  15. package/built/test/builder.spec.d.ts +1 -0
  16. package/built/test/builder.spec.js +142 -0
  17. package/built/test/builder.spec.js.map +1 -0
  18. package/built/test/context.spec.d.ts +1 -0
  19. package/built/test/context.spec.js +154 -0
  20. package/built/test/context.spec.js.map +1 -0
  21. package/built/test/exception.spec.d.ts +1 -0
  22. package/built/test/exception.spec.js +20 -0
  23. package/built/test/exception.spec.js.map +1 -0
  24. package/built/test/file-translations.spec.d.ts +1 -0
  25. package/built/test/file-translations.spec.js +449 -0
  26. package/built/test/file-translations.spec.js.map +1 -0
  27. package/built/test/files.spec.d.ts +1 -0
  28. package/built/test/files.spec.js +489 -0
  29. package/built/test/files.spec.js.map +1 -0
  30. package/built/test/glossaries.spec.d.ts +1 -0
  31. package/built/test/glossaries.spec.js +182 -0
  32. package/built/test/glossaries.spec.js.map +1 -0
  33. package/built/test/job-batches.spec.d.ts +1 -0
  34. package/built/test/job-batches.spec.js +221 -0
  35. package/built/test/job-batches.spec.js.map +1 -0
  36. package/built/test/jobs.spec.d.ts +1 -0
  37. package/built/test/jobs.spec.js +357 -0
  38. package/built/test/jobs.spec.js.map +1 -0
  39. package/built/test/locales.spec.d.ts +1 -0
  40. package/built/test/locales.spec.js +66 -0
  41. package/built/test/locales.spec.js.map +1 -0
  42. package/built/test/mock.d.ts +18 -0
  43. package/built/test/mock.js +31 -0
  44. package/built/test/mock.js.map +1 -0
  45. package/built/test/mt.spec.d.ts +1 -0
  46. package/built/test/mt.spec.js +135 -0
  47. package/built/test/mt.spec.js.map +1 -0
  48. package/built/test/projects.spec.d.ts +1 -0
  49. package/built/test/projects.spec.js +87 -0
  50. package/built/test/projects.spec.js.map +1 -0
  51. package/built/test/published-files.spec.d.ts +1 -0
  52. package/built/test/published-files.spec.js +76 -0
  53. package/built/test/published-files.spec.js.map +1 -0
  54. package/built/test/report-api.spec.d.ts +1 -0
  55. package/built/test/report-api.spec.js +187 -0
  56. package/built/test/report-api.spec.js.map +1 -0
  57. package/built/test/stream-to-string.d.ts +4 -0
  58. package/built/test/stream-to-string.js +14 -0
  59. package/built/test/stream-to-string.js.map +1 -0
  60. package/built/test/strings.spec.d.ts +1 -0
  61. package/built/test/strings.spec.js +204 -0
  62. package/built/test/strings.spec.js.map +1 -0
  63. package/built/test/tags.spec.d.ts +1 -0
  64. package/built/test/tags.spec.js +423 -0
  65. package/built/test/tags.spec.js.map +1 -0
  66. package/built/test/webhooks.spec.d.ts +1 -0
  67. package/built/test/webhooks.spec.js +447 -0
  68. package/built/test/webhooks.spec.js.map +1 -0
  69. package/package.json +1 -1
  70. package/.scannerwork/.sonar_lock +0 -0
  71. package/.scannerwork/report-task.txt +0 -6
@@ -0,0 +1,142 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const assert_1 = __importDefault(require("assert"));
7
+ const index_1 = require("../api/builder/index");
8
+ const index_2 = require("../api/file-translations/index");
9
+ const index_3 = require("../api/files/index");
10
+ const index_4 = require("../api/jobs/index");
11
+ const index_5 = require("../api/job-batches/index");
12
+ const index_6 = require("../api/projects/index");
13
+ const index_7 = require("../api/strings/index");
14
+ const index_8 = require("../api/context/index");
15
+ const index_9 = require("../api/base/index");
16
+ const index_10 = require("../api/auth/index");
17
+ const packageJson = require("../../package.json");
18
+ function assertApiClient(Type, apiClient, assertAuthClient = true) {
19
+ assert_1.default.equal(apiClient instanceof index_9.SmartlingBaseApi, true);
20
+ assert_1.default.equal(apiClient instanceof Type, true);
21
+ assert_1.default.deepEqual(apiClient["options"], {
22
+ timeout: 100500
23
+ });
24
+ assert_1.default.equal(typeof apiClient["logger"].debug === "function", true);
25
+ assert_1.default.equal(typeof apiClient["logger"].warn === "function", true);
26
+ assert_1.default.equal(typeof apiClient["logger"].error === "function", true);
27
+ assert_1.default.equal(typeof apiClient["logger"].test === "function", true);
28
+ assert_1.default.equal(apiClient["getClientLibId"](), "example-lib-name");
29
+ assert_1.default.equal(apiClient["getClientLibVersion"](), "example-lib-version");
30
+ if (assertAuthClient === true) {
31
+ assert_1.default.equal(apiClient["authApi"]["userIdentifier"], "test_user_id");
32
+ assert_1.default.equal(apiClient["authApi"]["tokenSecret"], "test_user_secret");
33
+ assert_1.default.equal(apiClient["authApi"]["entrypoint"], "test_base_url/auth-api/v2");
34
+ assert_1.default.equal(apiClient["authApi"]["getClientLibId"](), "example-lib-name");
35
+ assert_1.default.equal(apiClient["authApi"]["getClientLibVersion"](), "example-lib-version");
36
+ }
37
+ }
38
+ describe("SmartlingApiClientBuilder class tests.", () => {
39
+ let apiClientsBuilder;
40
+ beforeEach(() => {
41
+ apiClientsBuilder = new index_1.SmartlingApiClientBuilder()
42
+ .setLogger({
43
+ debug: () => { },
44
+ warn: () => { },
45
+ error: () => { },
46
+ test: () => { }
47
+ })
48
+ .setClientLibMetadata("example-lib-name", "example-lib-version")
49
+ .setHttpClientConfiguration({
50
+ timeout: 100500
51
+ })
52
+ .authWithUserIdAndUserSecret("test_user_id", "test_user_secret")
53
+ .setBaseSmartlingApiUrl("test_base_url");
54
+ });
55
+ it("Smartling api builder returns api client with default lib id and version", () => {
56
+ const apiClientBuilder = new index_1.SmartlingApiClientBuilder()
57
+ .authWithUserIdAndUserSecret("test_user_id", "test_user_secret")
58
+ .setBaseSmartlingApiUrl("test_base_url")
59
+ .setLogger({
60
+ debug: () => { },
61
+ warn: () => { },
62
+ error: () => { }
63
+ });
64
+ const apiClient = apiClientBuilder.build(index_4.SmartlingJobsApi);
65
+ assert_1.default.equal(apiClient["getClientLibId"](), packageJson.name);
66
+ assert_1.default.equal(apiClient["getClientLibVersion"](), packageJson.version);
67
+ assert_1.default.equal(apiClient["authApi"]["getClientLibId"](), packageJson.name);
68
+ assert_1.default.equal(apiClient["authApi"]["getClientLibVersion"](), packageJson.version);
69
+ });
70
+ it("Smartling api builder can use existing auth api client", () => {
71
+ const authApiClient = new index_10.SmartlingAuthApi("baz", "foo", "bar", {
72
+ debug: () => { },
73
+ warn: () => { },
74
+ error: () => { },
75
+ test: () => { }
76
+ });
77
+ const apiClientBuilder = new index_1.SmartlingApiClientBuilder()
78
+ .setLogger({
79
+ debug: () => { },
80
+ warn: () => { },
81
+ error: () => { },
82
+ test: () => { }
83
+ })
84
+ .setClientLibMetadata("example-lib-name", "example-lib-version")
85
+ .setHttpClientConfiguration({
86
+ timeout: 100500,
87
+ headers: {
88
+ "test-additional-header": "bar"
89
+ }
90
+ })
91
+ .authWithAuthApiClient(authApiClient)
92
+ .setBaseSmartlingApiUrl("test_base_url");
93
+ const apiClient = apiClientBuilder.build(index_4.SmartlingJobsApi);
94
+ assert_1.default.equal(apiClient["getClientLibId"](), "example-lib-name");
95
+ assert_1.default.equal(apiClient["getClientLibVersion"](), "example-lib-version");
96
+ assert_1.default.equal(apiClient["authApi"]["userIdentifier"], "foo");
97
+ assert_1.default.equal(apiClient["authApi"]["tokenSecret"], "bar");
98
+ assert_1.default.equal(apiClient["authApi"]["entrypoint"], "baz/auth-api/v2");
99
+ assert_1.default.equal(apiClient["authApi"]["getClientLibId"](), packageJson.name);
100
+ assert_1.default.equal(apiClient["authApi"]["getClientLibVersion"](), packageJson.version);
101
+ });
102
+ it("Smartling api builder provides default null logger", () => {
103
+ const apiClientBuilder = new index_1.SmartlingApiClientBuilder()
104
+ .authWithUserIdAndUserSecret("test_user_id", "test_user_secret")
105
+ .setBaseSmartlingApiUrl("test_base_url");
106
+ const apiClient = apiClientBuilder.build(index_4.SmartlingJobsApi);
107
+ assert_1.default.equal(typeof apiClient["logger"].debug === "function", true);
108
+ assert_1.default.equal(typeof apiClient["logger"].warn === "function", true);
109
+ assert_1.default.equal(typeof apiClient["logger"].error === "function", true);
110
+ });
111
+ it("should provide http client options to auth client", () => {
112
+ const httpClientOptions = { test: "value" };
113
+ const apiClient = new index_1.SmartlingApiClientBuilder()
114
+ .authWithUserIdAndUserSecret("test_user_id", "test_user_secret")
115
+ .setBaseSmartlingApiUrl("test_base_url")
116
+ .setHttpClientConfiguration(httpClientOptions)
117
+ .build(index_4.SmartlingJobsApi);
118
+ assert_1.default.equal(apiClient["options"], httpClientOptions);
119
+ });
120
+ it("Instantiates file translations api client", () => {
121
+ assertApiClient(index_2.SmartlingFileTranslationsApi, apiClientsBuilder.build(index_2.SmartlingFileTranslationsApi));
122
+ });
123
+ it("Instantiates files api client", () => {
124
+ assertApiClient(index_3.SmartlingFilesApi, apiClientsBuilder.build(index_3.SmartlingFilesApi));
125
+ });
126
+ it("Instantiates jobs api client", () => {
127
+ assertApiClient(index_4.SmartlingJobsApi, apiClientsBuilder.build(index_4.SmartlingJobsApi));
128
+ });
129
+ it("Instantiates job batches api client", () => {
130
+ assertApiClient(index_5.SmartlingJobBatchesApi, apiClientsBuilder.build(index_5.SmartlingJobBatchesApi));
131
+ });
132
+ it("Instantiates projects api client", () => {
133
+ assertApiClient(index_6.SmartlingProjectsApi, apiClientsBuilder.build(index_6.SmartlingProjectsApi));
134
+ });
135
+ it("Instantiates strings api client", () => {
136
+ assertApiClient(index_7.SmartlingStringsApi, apiClientsBuilder.build(index_7.SmartlingStringsApi));
137
+ });
138
+ it("Instantiates context api client", () => {
139
+ assertApiClient(index_8.SmartlingContextApi, apiClientsBuilder.build(index_8.SmartlingContextApi));
140
+ });
141
+ });
142
+ //# sourceMappingURL=builder.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builder.spec.js","sourceRoot":"","sources":["../../test/builder.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,154 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const sinon_1 = __importDefault(require("sinon"));
16
+ const assert_1 = __importDefault(require("assert"));
17
+ const index_1 = require("../api/context/index");
18
+ const context_automatic_match_parameters_1 = require("../api/context/params/context-automatic-match-parameters");
19
+ const create_bindings_parameters_1 = require("../api/context/params/create-bindings-parameters");
20
+ const list_parameters_1 = require("../api/context/params/list-parameters");
21
+ const context_type_1 = require("../api/context/params/context-type");
22
+ const mock_1 = require("./mock");
23
+ const context_upload_parameters_1 = require("../api/context/params/context-upload-parameters");
24
+ describe("SmartlingContextApi class tests.", () => {
25
+ const projectId = "testProjectId";
26
+ const contextUid = "testContextUid";
27
+ const fileName = "testContextFileName";
28
+ const stringHashCodes = ["testStringHashCode1", "testStringHashCode2"];
29
+ const expectedAutomaticMatchParams = {
30
+ stringHashcodes: stringHashCodes,
31
+ contentFileUri: fileName,
32
+ overrideContextOlderThanDays: 1
33
+ };
34
+ let contextApi;
35
+ let contextAutomaticMatchParameters;
36
+ let contextServiceApiFetchStub;
37
+ let contextServiceApiUaStub;
38
+ let responseMockJsonStub;
39
+ beforeEach(() => {
40
+ contextAutomaticMatchParameters = new context_automatic_match_parameters_1.ContextAutomaticMatchParameters();
41
+ contextAutomaticMatchParameters
42
+ .setStringHashcodes(stringHashCodes)
43
+ .setFileUri(fileName)
44
+ .setOverrideContextOlderThanDays(1);
45
+ contextApi = new index_1.SmartlingContextApi("https://test.com", mock_1.authMock, mock_1.loggerMock);
46
+ contextServiceApiFetchStub = sinon_1.default.stub(contextApi, "fetch");
47
+ contextServiceApiUaStub = sinon_1.default.stub(contextApi, "ua");
48
+ responseMockJsonStub = sinon_1.default.stub(mock_1.responseMock, "json");
49
+ contextServiceApiUaStub.returns("test_user_agent");
50
+ contextServiceApiFetchStub.returns(mock_1.responseMock);
51
+ responseMockJsonStub.returns({
52
+ response: {}
53
+ });
54
+ });
55
+ afterEach(() => {
56
+ contextServiceApiFetchStub.restore();
57
+ responseMockJsonStub.restore();
58
+ contextServiceApiUaStub.restore();
59
+ });
60
+ describe("Methods", () => {
61
+ it("Should upload context", () => __awaiter(void 0, void 0, void 0, function* () {
62
+ const params = new context_upload_parameters_1.ContextUploadParameters();
63
+ params
64
+ .setName("contextName")
65
+ .setContent("contextContent");
66
+ yield contextApi.upload(projectId, params, {
67
+ group: "testGroup",
68
+ name: "testName",
69
+ version: "testVersion"
70
+ });
71
+ assert_1.default.equal(contextServiceApiFetchStub.getCall(0).args[0], `https://test.com/context-api/v2/projects/${projectId}/contexts`);
72
+ assert_1.default.equal(contextServiceApiFetchStub.getCall(0).args[1].method, "post");
73
+ assert_1.default.equal(contextServiceApiFetchStub.getCall(0).args[1].headers.Authorization, "test_token_type test_access_token");
74
+ assert_1.default.equal(contextServiceApiFetchStub.getCall(0).args[1].headers["User-Agent"], "test_user_agent");
75
+ assert_1.default.equal(contextServiceApiFetchStub.getCall(0).args[1].headers["X-SL-Context-Source"], "group=testGroup;name=testName;version=testVersion");
76
+ }));
77
+ it("Should run automatic matching", () => __awaiter(void 0, void 0, void 0, function* () {
78
+ yield contextApi.runAutomaticMatch(projectId, contextUid, contextAutomaticMatchParameters);
79
+ sinon_1.default.assert.calledOnce(contextServiceApiFetchStub);
80
+ sinon_1.default.assert.calledWithExactly(contextServiceApiFetchStub, `https://test.com/context-api/v2/projects/${projectId}/contexts/${contextUid}/match/async`, {
81
+ body: JSON.stringify(expectedAutomaticMatchParams),
82
+ headers: {
83
+ Authorization: "test_token_type test_access_token",
84
+ "Content-Type": "application/json",
85
+ "User-Agent": "test_user_agent"
86
+ },
87
+ method: "post"
88
+ });
89
+ }));
90
+ it("Should create strings to context bindings", () => __awaiter(void 0, void 0, void 0, function* () {
91
+ const createBindingsParams = new create_bindings_parameters_1.CreateBindingsParameters();
92
+ const htmlBinding1 = {
93
+ contextUid: "1",
94
+ stringHashcode: "1",
95
+ selector: {
96
+ anchors: ["1"]
97
+ }
98
+ };
99
+ const htmlBinding2 = {
100
+ contextUid: "1",
101
+ stringHashcode: "2",
102
+ selector: {
103
+ anchors: ["2"]
104
+ }
105
+ };
106
+ createBindingsParams
107
+ .addBinding(htmlBinding1)
108
+ .addBinding(htmlBinding2);
109
+ yield contextApi.createStringsToContextBindings(projectId, createBindingsParams);
110
+ sinon_1.default.assert.calledOnce(contextServiceApiFetchStub);
111
+ sinon_1.default.assert.calledWithExactly(contextServiceApiFetchStub, `https://test.com/context-api/v2/projects/${projectId}/bindings`, {
112
+ body: JSON.stringify({
113
+ bindings: [htmlBinding1, htmlBinding2]
114
+ }),
115
+ headers: {
116
+ Authorization: "test_token_type test_access_token",
117
+ "Content-Type": "application/json",
118
+ "User-Agent": "test_user_agent"
119
+ },
120
+ method: "post"
121
+ });
122
+ }));
123
+ it("Should list contexts by project", () => __awaiter(void 0, void 0, void 0, function* () {
124
+ const listParams = new list_parameters_1.ListParameters();
125
+ listParams
126
+ .setNameFilter("nameFilter")
127
+ .setOffset("offset")
128
+ .setType(context_type_1.ContextType.HTML);
129
+ yield contextApi.listContexts(projectId, listParams);
130
+ sinon_1.default.assert.calledOnce(contextServiceApiFetchStub);
131
+ sinon_1.default.assert.calledWithExactly(contextServiceApiFetchStub, `https://test.com/context-api/v2/projects/${projectId}/contexts?nameFilter=nameFilter&offset=offset&type=HTML`, {
132
+ headers: {
133
+ Authorization: "test_token_type test_access_token",
134
+ "Content-Type": "application/json",
135
+ "User-Agent": "test_user_agent"
136
+ },
137
+ method: "get"
138
+ });
139
+ }));
140
+ it("Should delete context by context uid", () => __awaiter(void 0, void 0, void 0, function* () {
141
+ yield contextApi.delete(projectId, "context_uid");
142
+ sinon_1.default.assert.calledOnce(contextServiceApiFetchStub);
143
+ sinon_1.default.assert.calledWithExactly(contextServiceApiFetchStub, `https://test.com/context-api/v2/projects/${projectId}/contexts/context_uid`, {
144
+ headers: {
145
+ Authorization: "test_token_type test_access_token",
146
+ "Content-Type": "application/json",
147
+ "User-Agent": "test_user_agent"
148
+ },
149
+ method: "delete"
150
+ });
151
+ }));
152
+ });
153
+ });
154
+ //# sourceMappingURL=context.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.spec.js","sourceRoot":"","sources":["../../test/context.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const assert_1 = __importDefault(require("assert"));
7
+ const index_1 = require("../api/exception/index");
8
+ describe("Exception base class tests.", () => {
9
+ it("Cast to string", () => {
10
+ const nestedException = new index_1.SmartlingException("Test nested exception", { foo: "nested" });
11
+ const rootException = new index_1.SmartlingException("Test root exception", { root: "value" }, nestedException);
12
+ const result = rootException.toString();
13
+ assert_1.default.equal(result.includes("Test root exception, payload={\"root\":\"value\"}, stack=Error: Test root exception"), true);
14
+ assert_1.default.equal(result.includes("Test nested exception, payload={\"foo\":\"nested\"}, stack=Error: Test nested exception"), true);
15
+ assert_1.default.deepEqual(rootException.getPayload(), { root: "value" });
16
+ assert_1.default.deepEqual(rootException.getNestedException(), nestedException);
17
+ assert_1.default.deepEqual(rootException.getNestedException().getPayload(), { foo: "nested" });
18
+ });
19
+ });
20
+ //# sourceMappingURL=exception.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exception.spec.js","sourceRoot":"","sources":["../../test/exception.spec.ts"],"names":[],"mappings":";;;;;AAAA,oDAA4B;AAC5B,kDAA4D;AAE5D,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;IACzC,EAAE,CAAC,gBAAgB,EAAE,GAAG,EAAE;QACtB,MAAM,eAAe,GAAG,IAAI,0BAAkB,CAAC,uBAAuB,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC3F,MAAM,aAAa,GAAG,IAAI,0BAAkB,CAAC,qBAAqB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,eAAe,CAAC,CAAC;QAExG,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,EAAE,CAAC;QAExC,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,qFAAqF,CAAC,EAAE,IAAI,CAAC,CAAC;QAC3H,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,yFAAyF,CAAC,EAAE,IAAI,CAAC,CAAC;QAC/H,gBAAM,CAAC,SAAS,CAAC,aAAa,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAChE,gBAAM,CAAC,SAAS,CAAC,aAAa,CAAC,kBAAkB,EAAE,EAAE,eAAe,CAAC,CAAC;QACtE,gBAAM,CAAC,SAAS,CAAE,aAAa,CAAC,kBAAkB,EAAyB,CAAC,UAAU,EAAE,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;IACjH,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};