@matech/thebigpos-sdk 3.32.1 → 3.33.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.
- package/.husky/pre-commit +3 -0
- package/README.md +0 -39
- package/dist/index.d.ts +544 -538
- package/dist/index.js +2 -8
- package/dist/index.js.map +1 -1
- package/index.js +1 -1
- package/package.json +10 -24
- package/scripts/apply-json-patch-content-type.js +56 -0
- package/src/index.ts +8 -10
- package/tsconfig.json +27 -0
- package/dist/index.cjs +0 -6724
- package/dist/index.cjs.map +0 -7
package/package.json
CHANGED
|
@@ -1,19 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@matech/thebigpos-sdk",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.33.0",
|
|
4
4
|
"description": "The Big POS Typescript SDK",
|
|
5
|
-
"main": "dist/index.
|
|
6
|
-
"module": "dist/index.js",
|
|
7
|
-
"react-native": "dist/index.js",
|
|
5
|
+
"main": "dist/index.js",
|
|
8
6
|
"types": "dist/index.d.ts",
|
|
9
|
-
"files": [
|
|
10
|
-
"dist",
|
|
11
|
-
"src",
|
|
12
|
-
"index.js"
|
|
13
|
-
],
|
|
14
7
|
"scripts": {
|
|
15
|
-
"build": "rimraf dist && tsc
|
|
16
|
-
"
|
|
8
|
+
"build": "rimraf dist && tsc",
|
|
9
|
+
"test": "mocha -r ts-node/register 'src/api_test.spec.ts' --exit",
|
|
17
10
|
"browserify": "tsc && esbuild dist/index.js --bundle --minify --sourcemap --global-name=thebigpos --outfile=dist/thebigpos.min.js",
|
|
18
11
|
"prepare": "husky"
|
|
19
12
|
},
|
|
@@ -33,22 +26,15 @@
|
|
|
33
26
|
"url": "https://github.com/MortgageAutomationTechnologies/thebigpos-sdk-typescript/issues"
|
|
34
27
|
},
|
|
35
28
|
"homepage": "https://github.com/MortgageAutomationTechnologies/thebigpos-sdk-typescript#readme",
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
},
|
|
39
|
-
"peerDependencies": {
|
|
40
|
-
"axios": "^1"
|
|
29
|
+
"dependencies": {
|
|
30
|
+
"axios": "^1.7.7"
|
|
41
31
|
},
|
|
42
32
|
"devDependencies": {
|
|
43
|
-
"
|
|
44
|
-
"esbuild": "^0.28.1",
|
|
33
|
+
"esbuild": "^0.27.0",
|
|
45
34
|
"husky": "^9.1.5",
|
|
46
|
-
"rimraf": "6.1.
|
|
35
|
+
"rimraf": "6.1.1",
|
|
36
|
+
"ts-node": "^10.9.2",
|
|
47
37
|
"typescript": "^5.5.4"
|
|
48
38
|
},
|
|
49
|
-
"
|
|
50
|
-
"brace-expansion": "^5.0.12",
|
|
51
|
-
"follow-redirects": "^1.16.1"
|
|
52
|
-
},
|
|
53
|
-
"swaggerSha256": "146118641aaffa2d0b0d2b1b4d38dddc5f999cb8526382f7eb30e950f21e3804"
|
|
39
|
+
"swaggerSha256": "639fd99932e475e701752ae3acd3860548b53f035e4bff901de02c068ab80ba8"
|
|
54
40
|
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/*
|
|
2
|
+
This script is meant to run after the SDK has been generated.
|
|
3
|
+
|
|
4
|
+
- It updates the generated code to ensure that all PATCH methods use ContentType.JsonPatch.
|
|
5
|
+
- It also ensures that the ContentType enum includes JsonPatch and modifies the Operation interface
|
|
6
|
+
to allow any value for the `value` property instead of just object or null.
|
|
7
|
+
|
|
8
|
+
This is necessary because the SDK generation does not currently handle these cases correctly.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
const fs = require('fs')
|
|
12
|
+
|
|
13
|
+
const path = require('path').resolve(__dirname, '../src/index.ts')
|
|
14
|
+
|
|
15
|
+
if (!fs.existsSync(path)) {
|
|
16
|
+
console.error(`Error: File not found at path "${path}". Please ensure the SDK has been generated.`)
|
|
17
|
+
process.exit(1)
|
|
18
|
+
}
|
|
19
|
+
let content
|
|
20
|
+
try {
|
|
21
|
+
content = fs.readFileSync(path, 'utf8')
|
|
22
|
+
} catch (err) {
|
|
23
|
+
console.error(`Error: Unable to read file at path "${path}". Details: ${err.message}`)
|
|
24
|
+
process.exit(1)
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// Update PATCH methods to use ContentType.JsonPatch
|
|
28
|
+
content = content.replace(
|
|
29
|
+
/(method:\s*"PATCH"[\s\S]+?)type:\s*ContentType\.Json/g,
|
|
30
|
+
(match) => match.replace('ContentType.Json', 'ContentType.JsonPatch')
|
|
31
|
+
)
|
|
32
|
+
|
|
33
|
+
// Ensure JsonPatch is included in the ContentType enum
|
|
34
|
+
content = content.replace(
|
|
35
|
+
/export enum ContentType\s*{([\s\S]*?)}/,
|
|
36
|
+
(match, enumBody) => {
|
|
37
|
+
if (enumBody.includes('JsonPatch')) return match
|
|
38
|
+
const insertion = ` JsonPatch = "application/json-patch+json",\n `
|
|
39
|
+
return `export enum ContentType {\n${insertion}${enumBody.trim()}\n}`
|
|
40
|
+
}
|
|
41
|
+
)
|
|
42
|
+
|
|
43
|
+
// Fix the Operation interface to allow any value
|
|
44
|
+
content = content.replace(
|
|
45
|
+
/export interface Operation\s*{([\s\S]*?)}/,
|
|
46
|
+
(match, body) => {
|
|
47
|
+
const updated = body.replace(
|
|
48
|
+
/value\?:\s*object\s*\|?\s*null?;/,
|
|
49
|
+
'value?: string | number | boolean | null | object;'
|
|
50
|
+
)
|
|
51
|
+
return `export interface Operation {\n ${updated.trim()}\n}`
|
|
52
|
+
}
|
|
53
|
+
)
|
|
54
|
+
|
|
55
|
+
fs.writeFileSync(path, content)
|
|
56
|
+
console.log('SDK patch complete: All PATCH methods now use ContentType.JsonPatch.')
|
package/src/index.ts
CHANGED
|
@@ -4843,6 +4843,12 @@ export interface LoanBorrowerRealEstateAssetRequest {
|
|
|
4843
4843
|
monthlyRentalIncome?: number | null;
|
|
4844
4844
|
/** @format double */
|
|
4845
4845
|
maintenanceExpense?: number | null;
|
|
4846
|
+
/** @format double */
|
|
4847
|
+
percentageOfRental?: number | null;
|
|
4848
|
+
/** @format double */
|
|
4849
|
+
participationPercentage?: number | null;
|
|
4850
|
+
/** @format date */
|
|
4851
|
+
acquiredDate?: string | null;
|
|
4846
4852
|
address?: AddressRequest | null;
|
|
4847
4853
|
mortgage?: LoanBorrowerRealEstateAssetMortgageRequest | null;
|
|
4848
4854
|
}
|
|
@@ -10227,15 +10233,7 @@ export class HttpClient<SecurityDataType = unknown> {
|
|
|
10227
10233
|
property instanceof Array ? property : [property];
|
|
10228
10234
|
|
|
10229
10235
|
for (const formItem of propertyContent) {
|
|
10230
|
-
|
|
10231
|
-
const isReactNativeFile =
|
|
10232
|
-
!!formItem &&
|
|
10233
|
-
typeof formItem === "object" &&
|
|
10234
|
-
"uri" in formItem &&
|
|
10235
|
-
"name" in formItem &&
|
|
10236
|
-
"type" in formItem;
|
|
10237
|
-
const isFileType =
|
|
10238
|
-
isReactNativeFile || formItem instanceof Blob || formItem instanceof File;
|
|
10236
|
+
const isFileType = formItem instanceof Blob || formItem instanceof File;
|
|
10239
10237
|
formData.append(
|
|
10240
10238
|
key,
|
|
10241
10239
|
isFileType ? formItem : this.stringifyFormItem(formItem),
|
|
@@ -10297,7 +10295,7 @@ export class HttpClient<SecurityDataType = unknown> {
|
|
|
10297
10295
|
|
|
10298
10296
|
/**
|
|
10299
10297
|
* @title The Big POS API
|
|
10300
|
-
* @version v3.
|
|
10298
|
+
* @version v3.33.0
|
|
10301
10299
|
* @termsOfService https://www.thebigpos.com/terms-of-use/
|
|
10302
10300
|
* @contact Mortgage Automation Technologies <support@thebigpos.com> (https://www.thebigpos.com/terms-of-use/)
|
|
10303
10301
|
*/
|
package/tsconfig.json
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "es6",
|
|
4
|
+
"module": "esnext",
|
|
5
|
+
"allowJs": true,
|
|
6
|
+
"sourceMap": true,
|
|
7
|
+
"outDir": "./dist",
|
|
8
|
+
"strict": true,
|
|
9
|
+
"moduleResolution": "node",
|
|
10
|
+
"baseUrl": "./",
|
|
11
|
+
"declaration": true,
|
|
12
|
+
"paths": {
|
|
13
|
+
"*": [
|
|
14
|
+
"node_modules/*"
|
|
15
|
+
]
|
|
16
|
+
},
|
|
17
|
+
"typeRoots": [
|
|
18
|
+
"./node_modules/@types"
|
|
19
|
+
],
|
|
20
|
+
"esModuleInterop": true,
|
|
21
|
+
"skipLibCheck": true,
|
|
22
|
+
"forceConsistentCasingInFileNames": true,
|
|
23
|
+
"resolveJsonModule": true
|
|
24
|
+
},
|
|
25
|
+
"include": ["./src/**/*"],
|
|
26
|
+
"exclude": ["./dist"]
|
|
27
|
+
}
|