@rudderstack/integrations-lib 0.2.13 → 0.2.14
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/build/index.d.ts +1 -0
- package/build/index.d.ts.map +1 -1
- package/build/index.js +2 -1
- package/build/sdks/index.d.ts +3 -0
- package/build/sdks/index.d.ts.map +1 -0
- package/build/sdks/index.js +9 -0
- package/build/sdks/sfmc/index.d.ts +47 -0
- package/build/sdks/sfmc/index.d.ts.map +1 -0
- package/build/sdks/sfmc/index.js +262 -0
- package/build/sdks/sfmc/index.test.d.ts +2 -0
- package/build/sdks/sfmc/index.test.d.ts.map +1 -0
- package/build/sdks/sfmc/index.test.js +741 -0
- package/build/sdks/sfmc/type.d.ts +111 -0
- package/build/sdks/sfmc/type.d.ts.map +1 -0
- package/build/sdks/sfmc/type.js +3 -0
- package/build/sdks/sfmc/utils.d.ts +25 -0
- package/build/sdks/sfmc/utils.d.ts.map +1 -0
- package/build/sdks/sfmc/utils.js +93 -0
- package/build/sdks/sfmc/utils.test.d.ts +2 -0
- package/build/sdks/sfmc/utils.test.d.ts.map +1 -0
- package/build/sdks/sfmc/utils.test.js +32 -0
- package/package.json +3 -2
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
export interface AuthObject {
|
|
2
|
+
clientId: string;
|
|
3
|
+
clientSecret: string;
|
|
4
|
+
subDomain: string;
|
|
5
|
+
expiration?: number;
|
|
6
|
+
access_token?: string;
|
|
7
|
+
}
|
|
8
|
+
export interface FilterObj {
|
|
9
|
+
leftOperand: string;
|
|
10
|
+
rightOperand: string;
|
|
11
|
+
}
|
|
12
|
+
export interface Fields {
|
|
13
|
+
name: string;
|
|
14
|
+
type: string;
|
|
15
|
+
scale?: number;
|
|
16
|
+
precision?: number;
|
|
17
|
+
length: number;
|
|
18
|
+
isNullable: boolean;
|
|
19
|
+
isPrimaryKey: boolean;
|
|
20
|
+
isHidden: boolean;
|
|
21
|
+
isReadOnly: boolean;
|
|
22
|
+
isOverridable: boolean;
|
|
23
|
+
isTemplateField: boolean;
|
|
24
|
+
isInheritable: boolean;
|
|
25
|
+
mustOverride: boolean;
|
|
26
|
+
ordinal: 0;
|
|
27
|
+
}
|
|
28
|
+
export interface DataExtensionBody {
|
|
29
|
+
name: string;
|
|
30
|
+
categoryID: string;
|
|
31
|
+
dataRetentionProperties?: {
|
|
32
|
+
isDeleteAtEndOfRetentionPeriod?: boolean;
|
|
33
|
+
isRowBasedRetention?: boolean;
|
|
34
|
+
isResetRetentionPeriodOnImport?: boolean;
|
|
35
|
+
};
|
|
36
|
+
fields: Fields[];
|
|
37
|
+
}
|
|
38
|
+
export interface BusinessUnit {
|
|
39
|
+
Name: string;
|
|
40
|
+
ID: number;
|
|
41
|
+
}
|
|
42
|
+
export interface DataFolder {
|
|
43
|
+
PartnerKey: string;
|
|
44
|
+
ID: number;
|
|
45
|
+
ObjectID: string;
|
|
46
|
+
ParentFolder: {
|
|
47
|
+
PartnerKey: string;
|
|
48
|
+
ID: number;
|
|
49
|
+
ObjectID: string;
|
|
50
|
+
};
|
|
51
|
+
Name: string;
|
|
52
|
+
}
|
|
53
|
+
export interface DataExtension {
|
|
54
|
+
Name: string;
|
|
55
|
+
ObjectId: string;
|
|
56
|
+
CategoryId: number;
|
|
57
|
+
}
|
|
58
|
+
export interface ContactAttributesResponse {
|
|
59
|
+
items: [
|
|
60
|
+
{
|
|
61
|
+
isReadOnly: boolean;
|
|
62
|
+
attributes: [{
|
|
63
|
+
isReadOnly: boolean;
|
|
64
|
+
fullyQualifiedName: string;
|
|
65
|
+
dataType: string;
|
|
66
|
+
}];
|
|
67
|
+
}
|
|
68
|
+
];
|
|
69
|
+
}
|
|
70
|
+
export interface DataExtensionFields {
|
|
71
|
+
fields: Fields[];
|
|
72
|
+
fieldCount: number;
|
|
73
|
+
fieldPage: number;
|
|
74
|
+
fieldPageSize: number;
|
|
75
|
+
}
|
|
76
|
+
export interface CreateDataExtensionResponse extends Omit<DataExtensionFields, 'fielsPage' | 'fieldPageSize'> {
|
|
77
|
+
id: string;
|
|
78
|
+
key: string;
|
|
79
|
+
name: string;
|
|
80
|
+
}
|
|
81
|
+
export interface BusinessUnitResponse {
|
|
82
|
+
PartnerProperties: [{
|
|
83
|
+
Name: string;
|
|
84
|
+
Value: string;
|
|
85
|
+
}, {
|
|
86
|
+
Name: string;
|
|
87
|
+
Value: number;
|
|
88
|
+
}];
|
|
89
|
+
}
|
|
90
|
+
export interface DataExtensionResponse {
|
|
91
|
+
PartnerProperties: [
|
|
92
|
+
{
|
|
93
|
+
Name: string;
|
|
94
|
+
Value: string;
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
Name: string;
|
|
98
|
+
Value: string;
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
Name: string;
|
|
102
|
+
Value: number;
|
|
103
|
+
}
|
|
104
|
+
];
|
|
105
|
+
}
|
|
106
|
+
export interface SoapResponseBody {
|
|
107
|
+
RetrieveResponseMsg: {
|
|
108
|
+
Results: BusinessUnitResponse | BusinessUnitResponse[] | DataFolder | DataFolder[] | DataExtensionResponse | DataExtensionResponse[];
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=type.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../../src/sdks/sfmc/type.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,SAAS;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB;AACD,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;IACvB,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,CAAC,CAAC;CACZ;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,uBAAuB,CAAC,EAAE;QACxB,8BAA8B,CAAC,EAAE,OAAO,CAAC;QACzC,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B,8BAA8B,CAAC,EAAE,OAAO,CAAC;KAC1C,CAAC;IACF,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ;AACD,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE;QACZ,UAAU,EAAE,MAAM,CAAC;QACnB,EAAE,EAAE,MAAM,CAAC;QACX,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AACD,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE;QACL;YACE,UAAU,EAAE,OAAO,CAAC;YACpB,UAAU,EAAE,CAAC;gBAAE,UAAU,EAAE,OAAO,CAAC;gBAAC,kBAAkB,EAAE,MAAM,CAAC;gBAAC,QAAQ,EAAE,MAAM,CAAA;aAAE,CAAC,CAAC;SACrF;KACF,CAAC;CACH;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,2BACf,SAAQ,IAAI,CAAC,mBAAmB,EAAE,WAAW,GAAG,eAAe,CAAC;IAChE,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd;AACD,MAAM,WAAW,oBAAoB;IACnC,iBAAiB,EAAE,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACvF;AAED,MAAM,WAAW,qBAAqB;IACpC,iBAAiB,EAAE;QACjB;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE;QAC/B;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE;QAC/B;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE;KAChC,CAAC;CACH;AACD,MAAM,WAAW,gBAAgB;IAC/B,mBAAmB,EAAE;QACnB,OAAO,EACH,oBAAoB,GACpB,oBAAoB,EAAE,GACtB,UAAU,GACV,UAAU,EAAE,GACZ,qBAAqB,GACrB,qBAAqB,EAAE,CAAC;KAC7B,CAAC;CACH"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZGtzL3NmbWMvdHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBBdXRoT2JqZWN0IHtcbiAgY2xpZW50SWQ6IHN0cmluZztcbiAgY2xpZW50U2VjcmV0OiBzdHJpbmc7XG4gIHN1YkRvbWFpbjogc3RyaW5nO1xuICBleHBpcmF0aW9uPzogbnVtYmVyO1xuICBhY2Nlc3NfdG9rZW4/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyT2JqIHtcbiAgbGVmdE9wZXJhbmQ6IHN0cmluZztcbiAgcmlnaHRPcGVyYW5kOiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIEZpZWxkcyB7XG4gIG5hbWU6IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xuICBzY2FsZT86IG51bWJlcjtcbiAgcHJlY2lzaW9uPzogbnVtYmVyO1xuICBsZW5ndGg6IG51bWJlcjtcbiAgaXNOdWxsYWJsZTogYm9vbGVhbjtcbiAgaXNQcmltYXJ5S2V5OiBib29sZWFuO1xuICBpc0hpZGRlbjogYm9vbGVhbjtcbiAgaXNSZWFkT25seTogYm9vbGVhbjtcbiAgaXNPdmVycmlkYWJsZTogYm9vbGVhbjtcbiAgaXNUZW1wbGF0ZUZpZWxkOiBib29sZWFuO1xuICBpc0luaGVyaXRhYmxlOiBib29sZWFuO1xuICBtdXN0T3ZlcnJpZGU6IGJvb2xlYW47XG4gIG9yZGluYWw6IDA7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YUV4dGVuc2lvbkJvZHkge1xuICBuYW1lOiBzdHJpbmc7XG4gIGNhdGVnb3J5SUQ6IHN0cmluZztcbiAgZGF0YVJldGVudGlvblByb3BlcnRpZXM/OiB7XG4gICAgaXNEZWxldGVBdEVuZE9mUmV0ZW50aW9uUGVyaW9kPzogYm9vbGVhbjtcbiAgICBpc1Jvd0Jhc2VkUmV0ZW50aW9uPzogYm9vbGVhbjtcbiAgICBpc1Jlc2V0UmV0ZW50aW9uUGVyaW9kT25JbXBvcnQ/OiBib29sZWFuO1xuICB9O1xuICBmaWVsZHM6IEZpZWxkc1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJ1c2luZXNzVW5pdCB7XG4gIE5hbWU6IHN0cmluZztcbiAgSUQ6IG51bWJlcjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YUZvbGRlciB7XG4gIFBhcnRuZXJLZXk6IHN0cmluZztcbiAgSUQ6IG51bWJlcjtcbiAgT2JqZWN0SUQ6IHN0cmluZztcbiAgUGFyZW50Rm9sZGVyOiB7XG4gICAgUGFydG5lcktleTogc3RyaW5nO1xuICAgIElEOiBudW1iZXI7XG4gICAgT2JqZWN0SUQ6IHN0cmluZztcbiAgfTtcbiAgTmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFFeHRlbnNpb24ge1xuICBOYW1lOiBzdHJpbmc7XG4gIE9iamVjdElkOiBzdHJpbmc7XG4gIENhdGVnb3J5SWQ6IG51bWJlcjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQ29udGFjdEF0dHJpYnV0ZXNSZXNwb25zZSB7XG4gIGl0ZW1zOiBbXG4gICAge1xuICAgICAgaXNSZWFkT25seTogYm9vbGVhbjtcbiAgICAgIGF0dHJpYnV0ZXM6IFt7IGlzUmVhZE9ubHk6IGJvb2xlYW47IGZ1bGx5UXVhbGlmaWVkTmFtZTogc3RyaW5nOyBkYXRhVHlwZTogc3RyaW5nIH1dO1xuICAgIH0sXG4gIF07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YUV4dGVuc2lvbkZpZWxkcyB7XG4gIGZpZWxkczogRmllbGRzW107XG4gIGZpZWxkQ291bnQ6IG51bWJlcjtcbiAgZmllbGRQYWdlOiBudW1iZXI7XG4gIGZpZWxkUGFnZVNpemU6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVEYXRhRXh0ZW5zaW9uUmVzcG9uc2VcbiAgZXh0ZW5kcyBPbWl0PERhdGFFeHRlbnNpb25GaWVsZHMsICdmaWVsc1BhZ2UnIHwgJ2ZpZWxkUGFnZVNpemUnPiB7XG4gIGlkOiBzdHJpbmc7XG4gIGtleTogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIEJ1c2luZXNzVW5pdFJlc3BvbnNlIHtcbiAgUGFydG5lclByb3BlcnRpZXM6IFt7IE5hbWU6IHN0cmluZzsgVmFsdWU6IHN0cmluZyB9LCB7IE5hbWU6IHN0cmluZzsgVmFsdWU6IG51bWJlciB9XTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXRhRXh0ZW5zaW9uUmVzcG9uc2Uge1xuICBQYXJ0bmVyUHJvcGVydGllczogW1xuICAgIHsgTmFtZTogc3RyaW5nOyBWYWx1ZTogc3RyaW5nIH0sXG4gICAgeyBOYW1lOiBzdHJpbmc7IFZhbHVlOiBzdHJpbmcgfSxcbiAgICB7IE5hbWU6IHN0cmluZzsgVmFsdWU6IG51bWJlciB9LFxuICBdO1xufVxuZXhwb3J0IGludGVyZmFjZSBTb2FwUmVzcG9uc2VCb2R5IHtcbiAgUmV0cmlldmVSZXNwb25zZU1zZzoge1xuICAgIFJlc3VsdHM6XG4gICAgICB8IEJ1c2luZXNzVW5pdFJlc3BvbnNlXG4gICAgICB8IEJ1c2luZXNzVW5pdFJlc3BvbnNlW11cbiAgICAgIHwgRGF0YUZvbGRlclxuICAgICAgfCBEYXRhRm9sZGVyW11cbiAgICAgIHwgRGF0YUV4dGVuc2lvblJlc3BvbnNlXG4gICAgICB8IERhdGFFeHRlbnNpb25SZXNwb25zZVtdO1xuICB9O1xufVxuIl19
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { AuthObject, FilterObj, SoapResponseBody } from './type';
|
|
2
|
+
export declare class RestError extends Error {
|
|
3
|
+
errorcode: string;
|
|
4
|
+
documentation: string;
|
|
5
|
+
statusCode: number;
|
|
6
|
+
constructor(ex: any);
|
|
7
|
+
}
|
|
8
|
+
export declare class SoapError extends Error {
|
|
9
|
+
code: string;
|
|
10
|
+
data: string;
|
|
11
|
+
statusCode: number;
|
|
12
|
+
constructor(ex: any);
|
|
13
|
+
}
|
|
14
|
+
export declare const parseXML: (data: any) => SoapResponseBody;
|
|
15
|
+
export declare const parseFilter: (filter: FilterObj) => {
|
|
16
|
+
Property: string;
|
|
17
|
+
SimpleOperator: string;
|
|
18
|
+
Value: string;
|
|
19
|
+
'@_xsi:type': string;
|
|
20
|
+
};
|
|
21
|
+
export declare const getUrl: (subDomain: string) => string;
|
|
22
|
+
export declare const isExpired: (authObject: AuthObject) => boolean;
|
|
23
|
+
export declare const getToken: (authObject: AuthObject) => Promise<AuthObject>;
|
|
24
|
+
export declare const xmlBuilder: (object: string, properties: string[], accessToken?: string, filter?: any) => any;
|
|
25
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/sdks/sfmc/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAEjE,qBAAa,SAAU,SAAQ,KAAK;IAClC,SAAS,EAAE,MAAM,CAAC;IAElB,aAAa,EAAE,MAAM,CAAC;IAEtB,UAAU,EAAE,MAAM,CAAC;gBAEP,EAAE,KAAA;CAMf;AAED,qBAAa,SAAU,SAAQ,KAAK;IAClC,IAAI,EAAE,MAAM,CAAC;IAEb,IAAI,EAAE,MAAM,CAAC;IAEb,UAAU,EAAE,MAAM,CAAC;gBAEP,EAAE,KAAA;CAMf;AAED,eAAO,MAAM,QAAQ,SAAU,GAAG,KAAG,gBAGpC,CAAC;AAEF,eAAO,MAAM,WAAW,WAAY,SAAS;;;;;CAK3C,CAAC;AAEH,eAAO,MAAM,MAAM,cAAe,MAAM,KAAG,MACS,CAAC;AAErD,eAAO,MAAM,SAAS,eAAgB,UAAU,KAAG,OAWlD,CAAC;AAEF,eAAO,MAAM,QAAQ,eAAsB,UAAU,KAAG,QAAQ,UAAU,CAezE,CAAC;AAEF,eAAO,MAAM,UAAU,WACb,MAAM,cACF,MAAM,EAAE,gBACN,MAAM,WACX,GAAG,QA4Bb,CAAC"}
|
|
@@ -0,0 +1,93 @@
|
|
|
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
|
+
exports.xmlBuilder = exports.getToken = exports.isExpired = exports.getUrl = exports.parseFilter = exports.parseXML = exports.SoapError = exports.RestError = void 0;
|
|
7
|
+
const fast_xml_parser_1 = require("fast-xml-parser");
|
|
8
|
+
const axios_1 = __importDefault(require("axios"));
|
|
9
|
+
class RestError extends Error {
|
|
10
|
+
constructor(ex) {
|
|
11
|
+
super(ex.response?.data?.message);
|
|
12
|
+
this.errorcode = ex.response.data.errorcode;
|
|
13
|
+
this.documentation = ex.response.data.documentation;
|
|
14
|
+
this.statusCode = ex.response.status;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.RestError = RestError;
|
|
18
|
+
class SoapError extends Error {
|
|
19
|
+
constructor(ex) {
|
|
20
|
+
super(ex.message);
|
|
21
|
+
this.code = ex.code;
|
|
22
|
+
this.data = ex.response.data;
|
|
23
|
+
this.statusCode = ex.response.status;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.SoapError = SoapError;
|
|
27
|
+
const parseXML = (data) => {
|
|
28
|
+
const xmlParser = new fast_xml_parser_1.XMLParser({ removeNSPrefix: true, parseAttributeValue: true });
|
|
29
|
+
return xmlParser.parse(data)?.Envelope?.Body;
|
|
30
|
+
};
|
|
31
|
+
exports.parseXML = parseXML;
|
|
32
|
+
const parseFilter = (filter) => ({
|
|
33
|
+
Property: filter.leftOperand,
|
|
34
|
+
SimpleOperator: 'equals',
|
|
35
|
+
Value: filter.rightOperand,
|
|
36
|
+
'@_xsi:type': 'SimpleFilterPart',
|
|
37
|
+
});
|
|
38
|
+
exports.parseFilter = parseFilter;
|
|
39
|
+
const getUrl = (subDomain) => `https://${subDomain}.rest.marketingcloudapis.com`;
|
|
40
|
+
exports.getUrl = getUrl;
|
|
41
|
+
const isExpired = (authObject) => {
|
|
42
|
+
let expired = false;
|
|
43
|
+
// if current atomic time is equal or after exp, or we don't have a token, return true
|
|
44
|
+
if ((authObject.expiration && authObject.expiration <= process.hrtime()[0]) ||
|
|
45
|
+
!authObject.access_token) {
|
|
46
|
+
expired = true;
|
|
47
|
+
}
|
|
48
|
+
return expired;
|
|
49
|
+
};
|
|
50
|
+
exports.isExpired = isExpired;
|
|
51
|
+
const getToken = async (authObject) => {
|
|
52
|
+
const payload = {
|
|
53
|
+
grant_type: 'client_credentials',
|
|
54
|
+
client_id: authObject.clientId,
|
|
55
|
+
client_secret: authObject.clientSecret,
|
|
56
|
+
};
|
|
57
|
+
const result = await (0, axios_1.default)({
|
|
58
|
+
method: 'post',
|
|
59
|
+
baseURL: `https://${authObject.subDomain}.auth.marketingcloudapis.com`,
|
|
60
|
+
url: '/v2/token',
|
|
61
|
+
data: payload,
|
|
62
|
+
});
|
|
63
|
+
return Object.assign(authObject, result.data, {
|
|
64
|
+
expiration: process.hrtime()[0] + result.data.expires_in,
|
|
65
|
+
});
|
|
66
|
+
};
|
|
67
|
+
exports.getToken = getToken;
|
|
68
|
+
const xmlBuilder = (object, properties, accessToken, filter) => {
|
|
69
|
+
const jsonToXml = new fast_xml_parser_1.XMLBuilder({ ignoreAttributes: false });
|
|
70
|
+
const headers = { fueloauth: { '#text': accessToken } };
|
|
71
|
+
const retrieveReq = {
|
|
72
|
+
ObjectType: object,
|
|
73
|
+
Properties: properties,
|
|
74
|
+
};
|
|
75
|
+
if (filter) {
|
|
76
|
+
retrieveReq.Filter = filter;
|
|
77
|
+
}
|
|
78
|
+
return jsonToXml.build({
|
|
79
|
+
Envelope: {
|
|
80
|
+
Body: {
|
|
81
|
+
RetrieveRequestMsg: {
|
|
82
|
+
'@_xmlns': 'http://exacttarget.com/wsdl/partnerAPI',
|
|
83
|
+
RetrieveRequest: retrieveReq,
|
|
84
|
+
},
|
|
85
|
+
},
|
|
86
|
+
'@_xmlns': 'http://schemas.xmlsoap.org/soap/envelope/',
|
|
87
|
+
'@_xmlns:xsi': 'http://www.w3.org/2001/XMLSchema-instance',
|
|
88
|
+
Header: headers,
|
|
89
|
+
},
|
|
90
|
+
});
|
|
91
|
+
};
|
|
92
|
+
exports.xmlBuilder = xmlBuilder;
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2Rrcy9zZm1jL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHFEQUF3RDtBQUN4RCxrREFBMEI7QUFHMUIsTUFBYSxTQUFVLFNBQVEsS0FBSztJQU9sQyxZQUFZLEVBQUU7UUFDWixLQUFLLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDNUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDcEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztJQUN2QyxDQUFDO0NBQ0Y7QUFiRCw4QkFhQztBQUVELE1BQWEsU0FBVSxTQUFRLEtBQUs7SUFPbEMsWUFBWSxFQUFFO1FBQ1osS0FBSyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNsQixJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7UUFDcEIsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztRQUM3QixJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO0lBQ3ZDLENBQUM7Q0FDRjtBQWJELDhCQWFDO0FBRU0sTUFBTSxRQUFRLEdBQUcsQ0FBQyxJQUFTLEVBQW9CLEVBQUU7SUFDdEQsTUFBTSxTQUFTLEdBQUcsSUFBSSwyQkFBUyxDQUFDLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxtQkFBbUIsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3JGLE9BQU8sU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJ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bnQiOlsiaW1wb3J0IHsgWE1MQnVpbGRlciwgWE1MUGFyc2VyIH0gZnJvbSAnZmFzdC14bWwtcGFyc2VyJztcbmltcG9ydCBheGlvcyBmcm9tICdheGlvcyc7XG5pbXBvcnQgeyBBdXRoT2JqZWN0LCBGaWx0ZXJPYmosIFNvYXBSZXNwb25zZUJvZHkgfSBmcm9tICcuL3R5cGUnO1xuXG5leHBvcnQgY2xhc3MgUmVzdEVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBlcnJvcmNvZGU6IHN0cmluZztcblxuICBkb2N1bWVudGF0aW9uOiBzdHJpbmc7XG5cbiAgc3RhdHVzQ29kZTogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKGV4KSB7XG4gICAgc3VwZXIoZXgucmVzcG9uc2U/LmRhdGE/Lm1lc3NhZ2UpO1xuICAgIHRoaXMuZXJyb3Jjb2RlID0gZXgucmVzcG9uc2UuZGF0YS5lcnJvcmNvZGU7XG4gICAgdGhpcy5kb2N1bWVudGF0aW9uID0gZXgucmVzcG9uc2UuZGF0YS5kb2N1bWVudGF0aW9uO1xuICAgIHRoaXMuc3RhdHVzQ29kZSA9IGV4LnJlc3BvbnNlLnN0YXR1cztcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgU29hcEVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBjb2RlOiBzdHJpbmc7XG5cbiAgZGF0YTogc3RyaW5nO1xuXG4gIHN0YXR1c0NvZGU6IG51bWJlcjtcblxuICBjb25zdHJ1Y3RvcihleCkge1xuICAgIHN1cGVyKGV4Lm1lc3NhZ2UpO1xuICAgIHRoaXMuY29kZSA9IGV4LmNvZGU7XG4gICAgdGhpcy5kYXRhID0gZXgucmVzcG9uc2UuZGF0YTtcbiAgICB0aGlzLnN0YXR1c0NvZGUgPSBleC5yZXNwb25zZS5zdGF0dXM7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IHBhcnNlWE1MID0gKGRhdGE6IGFueSk6IFNvYXBSZXNwb25zZUJvZHkgPT4ge1xuICBjb25zdCB4bWxQYXJzZXIgPSBuZXcgWE1MUGFyc2VyKHsgcmVtb3ZlTlNQcmVmaXg6IHRydWUsIHBhcnNlQXR0cmlidXRlVmFsdWU6IHRydWUgfSk7XG4gIHJldHVybiB4bWxQYXJzZXIucGFyc2UoZGF0YSk/LkVudmVsb3BlPy5Cb2R5O1xufTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlRmlsdGVyID0gKGZpbHRlcjogRmlsdGVyT2JqKSA9PiAoe1xuICBQcm9wZXJ0eTogZmlsdGVyLmxlZnRPcGVyYW5kLFxuICBTaW1wbGVPcGVyYXRvcjogJ2VxdWFscycsXG4gIFZhbHVlOiBmaWx0ZXIucmlnaHRPcGVyYW5kLFxuICAnQF94c2k6dHlwZSc6ICdTaW1wbGVGaWx0ZXJQYXJ0Jyxcbn0pO1xuXG5leHBvcnQgY29uc3QgZ2V0VXJsID0gKHN1YkRvbWFpbjogc3RyaW5nKTogc3RyaW5nID0+XG4gIGBodHRwczovLyR7c3ViRG9tYWlufS5yZXN0Lm1hcmtldGluZ2Nsb3VkYXBpcy5jb21gO1xuXG5leHBvcnQgY29uc3QgaXNFeHBpcmVkID0gKGF1dGhPYmplY3Q6IEF1dGhPYmplY3QpOiBib29sZWFuID0+IHtcbiAgbGV0IGV4cGlyZWQgPSBmYWxzZTtcbiAgLy8gaWYgY3VycmVudCBhdG9taWMgdGltZSBpcyBlcXVhbCBvciBhZnRlciBleHAsIG9yIHdlIGRvbid0IGhhdmUgYSB0b2tlbiwgcmV0dXJuIHRydWVcbiAgaWYgKFxuICAgIChhdXRoT2JqZWN0LmV4cGlyYXRpb24gJiYgYXV0aE9iamVjdC5leHBpcmF0aW9uIDw9IHByb2Nlc3MuaHJ0aW1lKClbMF0pIHx8XG4gICAgIWF1dGhPYmplY3QuYWNjZXNzX3Rva2VuXG4gICkge1xuICAgIGV4cGlyZWQgPSB0cnVlO1xuICB9XG5cbiAgcmV0dXJuIGV4cGlyZWQ7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0VG9rZW4gPSBhc3luYyAoYXV0aE9iamVjdDogQXV0aE9iamVjdCk6IFByb21pc2U8QXV0aE9iamVjdD4gPT4ge1xuICBjb25zdCBwYXlsb2FkID0ge1xuICAgIGdyYW50X3R5cGU6ICdjbGllbnRfY3JlZGVudGlhbHMnLFxuICAgIGNsaWVudF9pZDogYXV0aE9iamVjdC5jbGllbnRJZCxcbiAgICBjbGllbnRfc2VjcmV0OiBhdXRoT2JqZWN0LmNsaWVudFNlY3JldCxcbiAgfTtcbiAgY29uc3QgcmVzdWx0ID0gYXdhaXQgYXhpb3Moe1xuICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgIGJhc2VVUkw6IGBodHRwczovLyR7YXV0aE9iamVjdC5zdWJEb21haW59LmF1dGgubWFya2V0aW5nY2xvdWRhcGlzLmNvbWAsXG4gICAgdXJsOiAnL3YyL3Rva2VuJyxcbiAgICBkYXRhOiBwYXlsb2FkLFxuICB9KTtcbiAgcmV0dXJuIE9iamVjdC5hc3NpZ24oYXV0aE9iamVjdCwgcmVzdWx0LmRhdGEsIHtcbiAgICBleHBpcmF0aW9uOiBwcm9jZXNzLmhydGltZSgpWzBdICsgcmVzdWx0LmRhdGEuZXhwaXJlc19pbixcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgeG1sQnVpbGRlciA9IChcbiAgb2JqZWN0OiBzdHJpbmcsXG4gIHByb3BlcnRpZXM6IHN0cmluZ1tdLFxuICBhY2Nlc3NUb2tlbj86IHN0cmluZyxcbiAgZmlsdGVyPzogYW55LFxuKSA9PiB7XG4gIGNvbnN0IGpzb25Ub1htbCA9IG5ldyBYTUxCdWlsZGVyKHsgaWdub3JlQXR0cmlidXRlczogZmFsc2UgfSk7XG4gIGNvbnN0IGhlYWRlcnMgPSB7IGZ1ZWxvYXV0aDogeyAnI3RleHQnOiBhY2Nlc3NUb2tlbiB9IH07XG4gIGNvbnN0IHJldHJpZXZlUmVxOiB7XG4gICAgT2JqZWN0VHlwZTogc3RyaW5nO1xuICAgIFByb3BlcnRpZXM6IHN0cmluZ1tdO1xuICAgIEZpbHRlcj86IGFueTtcbiAgfSA9IHtcbiAgICBPYmplY3RUeXBlOiBvYmplY3QsXG4gICAgUHJvcGVydGllczogcHJvcGVydGllcyxcbiAgfTtcbiAgaWYgKGZpbHRlcikge1xuICAgIHJldHJpZXZlUmVxLkZpbHRlciA9IGZpbHRlcjtcbiAgfVxuICByZXR1cm4ganNvblRvWG1sLmJ1aWxkKHtcbiAgICBFbnZlbG9wZToge1xuICAgICAgQm9keToge1xuICAgICAgICBSZXRyaWV2ZVJlcXVlc3RNc2c6IHtcbiAgICAgICAgICAnQF94bWxucyc6ICdodHRwOi8vZXhhY3R0YXJnZXQuY29tL3dzZGwvcGFydG5lckFQSScsXG4gICAgICAgICAgUmV0cmlldmVSZXF1ZXN0OiByZXRyaWV2ZVJlcSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICAnQF94bWxucyc6ICdodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy9zb2FwL2VudmVsb3BlLycsXG4gICAgICAnQF94bWxuczp4c2knOiAnaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UnLFxuICAgICAgSGVhZGVyOiBoZWFkZXJzLFxuICAgIH0sXG4gIH0pO1xufTtcbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.test.d.ts","sourceRoot":"","sources":["../../../src/sdks/sfmc/utils.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const utils_1 = require("./utils");
|
|
4
|
+
describe('sfmc utils', () => {
|
|
5
|
+
describe('isExpired', () => {
|
|
6
|
+
it('should return false when auth object has valid token and future expiration', () => {
|
|
7
|
+
const futureTime = process.hrtime()[0] + 3600;
|
|
8
|
+
const authObject = {
|
|
9
|
+
clientId: 'test-client',
|
|
10
|
+
clientSecret: 'test-secret',
|
|
11
|
+
subDomain: 'test',
|
|
12
|
+
expiration: futureTime,
|
|
13
|
+
access_token: 'valid-token',
|
|
14
|
+
};
|
|
15
|
+
const result = (0, utils_1.isExpired)(authObject);
|
|
16
|
+
expect(result).toBe(false);
|
|
17
|
+
});
|
|
18
|
+
it('should return true when expiration is 0', () => {
|
|
19
|
+
const authObject = {
|
|
20
|
+
clientId: 'test-client',
|
|
21
|
+
clientSecret: 'test-secret',
|
|
22
|
+
subDomain: 'test',
|
|
23
|
+
access_token: 'valid-token',
|
|
24
|
+
expiration: 12345,
|
|
25
|
+
};
|
|
26
|
+
jest.spyOn(process, 'hrtime').mockImplementation(() => [123456, 0]);
|
|
27
|
+
const result = (0, utils_1.isExpired)(authObject);
|
|
28
|
+
expect(result).toBe(true);
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZGtzL3NmbWMvdXRpbHMudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLG1DQUFvQztBQUVwQyxRQUFRLENBQUMsWUFBWSxFQUFFLEdBQUcsRUFBRTtJQUMxQixRQUFRLENBQUMsV0FBVyxFQUFFLEdBQUcsRUFBRTtRQUN6QixFQUFFLENBQUMsNEVBQTRFLEVBQUUsR0FBRyxFQUFFO1lBQ3BGLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUM7WUFDOUMsTUFBTSxVQUFVLEdBQUc7Z0JBQ2pCLFFBQVEsRUFBRSxhQUFhO2dCQUN2QixZQUFZLEVBQUUsYUFBYTtnQkFDM0IsU0FBUyxFQUFFLE1BQU07Z0JBQ2pCLFVBQVUsRUFBRSxVQUFVO2dCQUN0QixZQUFZLEVBQUUsYUFBYTthQUM1QixDQUFDO1lBRUYsTUFBTSxNQUFNLEdBQUcsSUFBQSxpQkFBUyxFQUFDLFVBQVUsQ0FBQyxDQUFDO1lBRXJDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7UUFDSCxFQUFFLENBQUMseUNBQXlDLEVBQUUsR0FBRyxFQUFFO1lBQ2pELE1BQU0sVUFBVSxHQUFHO2dCQUNqQixRQUFRLEVBQUUsYUFBYTtnQkFDdkIsWUFBWSxFQUFFLGFBQWE7Z0JBQzNCLFNBQVMsRUFBRSxNQUFNO2dCQUNqQixZQUFZLEVBQUUsYUFBYTtnQkFDM0IsVUFBVSxFQUFFLEtBQUs7YUFDbEIsQ0FBQztZQUNGLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDcEUsTUFBTSxNQUFNLEdBQUcsSUFBQSxpQkFBUyxFQUFDLFVBQVUsQ0FBQyxDQUFDO1lBRXJDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNFeHBpcmVkIH0gZnJvbSAnLi91dGlscyc7XG5cbmRlc2NyaWJlKCdzZm1jIHV0aWxzJywgKCkgPT4ge1xuICBkZXNjcmliZSgnaXNFeHBpcmVkJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgcmV0dXJuIGZhbHNlIHdoZW4gYXV0aCBvYmplY3QgaGFzIHZhbGlkIHRva2VuIGFuZCBmdXR1cmUgZXhwaXJhdGlvbicsICgpID0+IHtcbiAgICAgIGNvbnN0IGZ1dHVyZVRpbWUgPSBwcm9jZXNzLmhydGltZSgpWzBdICsgMzYwMDtcbiAgICAgIGNvbnN0IGF1dGhPYmplY3QgPSB7XG4gICAgICAgIGNsaWVudElkOiAndGVzdC1jbGllbnQnLFxuICAgICAgICBjbGllbnRTZWNyZXQ6ICd0ZXN0LXNlY3JldCcsXG4gICAgICAgIHN1YkRvbWFpbjogJ3Rlc3QnLFxuICAgICAgICBleHBpcmF0aW9uOiBmdXR1cmVUaW1lLFxuICAgICAgICBhY2Nlc3NfdG9rZW46ICd2YWxpZC10b2tlbicsXG4gICAgICB9O1xuXG4gICAgICBjb25zdCByZXN1bHQgPSBpc0V4cGlyZWQoYXV0aE9iamVjdCk7XG5cbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmUoZmFsc2UpO1xuICAgIH0pO1xuICAgIGl0KCdzaG91bGQgcmV0dXJuIHRydWUgd2hlbiBleHBpcmF0aW9uIGlzIDAnLCAoKSA9PiB7XG4gICAgICBjb25zdCBhdXRoT2JqZWN0ID0ge1xuICAgICAgICBjbGllbnRJZDogJ3Rlc3QtY2xpZW50JyxcbiAgICAgICAgY2xpZW50U2VjcmV0OiAndGVzdC1zZWNyZXQnLFxuICAgICAgICBzdWJEb21haW46ICd0ZXN0JyxcbiAgICAgICAgYWNjZXNzX3Rva2VuOiAndmFsaWQtdG9rZW4nLFxuICAgICAgICBleHBpcmF0aW9uOiAxMjM0NSxcbiAgICAgIH07XG4gICAgICBqZXN0LnNweU9uKHByb2Nlc3MsICdocnRpbWUnKS5tb2NrSW1wbGVtZW50YXRpb24oKCkgPT4gWzEyMzQ1NiwgMF0pO1xuICAgICAgY29uc3QgcmVzdWx0ID0gaXNFeHBpcmVkKGF1dGhPYmplY3QpO1xuXG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlKHRydWUpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rudderstack/integrations-lib",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.14",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"module": "build/index.js",
|
|
@@ -40,10 +40,10 @@
|
|
|
40
40
|
"license": "MIT",
|
|
41
41
|
"dependencies": {
|
|
42
42
|
"axios": "^1.4.0",
|
|
43
|
-
"axios-mock-adapter": "^1.22.0",
|
|
44
43
|
"crypto": "^1.0.1",
|
|
45
44
|
"eslint-config-airbnb-base": "^15.0.0",
|
|
46
45
|
"eslint-config-airbnb-typescript": "^17.1.0",
|
|
46
|
+
"fast-xml-parser": "^4.5.0",
|
|
47
47
|
"get-value": "^3.0.1",
|
|
48
48
|
"handlebars": "^4.7.8",
|
|
49
49
|
"lodash": "^4.17.21",
|
|
@@ -64,6 +64,7 @@
|
|
|
64
64
|
"@types/sha256": "^0.2.0",
|
|
65
65
|
"@typescript-eslint/eslint-plugin": "^6.20.0",
|
|
66
66
|
"@typescript-eslint/parser": "^6.20.0",
|
|
67
|
+
"axios-mock-adapter": "^2.1.0",
|
|
67
68
|
"commitlint": "^18.6.0",
|
|
68
69
|
"eslint": "^8.56.0",
|
|
69
70
|
"eslint-config-prettier": "^9.1.0",
|