@virex-tech/paywallo-sdk 2.0.2 → 2.2.1
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/index.d.mts +122 -7
- package/dist/index.d.ts +122 -7
- package/dist/index.js +1170 -617
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1144 -597
- package/dist/index.mjs.map +1 -1
- package/ios/PaywalloDevice.swift +29 -1
- package/package.json +2 -2
package/ios/PaywalloDevice.swift
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import Foundation
|
|
2
2
|
import UIKit
|
|
3
3
|
import CoreTelephony
|
|
4
|
+
import WebKit
|
|
4
5
|
|
|
5
6
|
@objc(PaywalloDevice)
|
|
6
7
|
class PaywalloDevice: NSObject {
|
|
@@ -45,6 +46,12 @@ class PaywalloDevice: NSObject {
|
|
|
45
46
|
// Model identifier (sysctl — safe on any thread)
|
|
46
47
|
let modelId = self.getModelIdentifier()
|
|
47
48
|
|
|
49
|
+
// Darwin version (sysctl — synchronous, safe on any thread)
|
|
50
|
+
let darwinVersion = self.getDarwinVersion()
|
|
51
|
+
|
|
52
|
+
// WebKit version extracted from WKWebView user agent
|
|
53
|
+
let webkitVersion = self.getWebKitVersion()
|
|
54
|
+
|
|
48
55
|
// Carrier: CTTelephonyNetworkInfo is deprecated in iOS 16+ but still functional.
|
|
49
56
|
// Using conditional to suppress warning; no replacement API exists for carrier name.
|
|
50
57
|
var carrier = "unknown"
|
|
@@ -56,7 +63,7 @@ class PaywalloDevice: NSObject {
|
|
|
56
63
|
carrier = name
|
|
57
64
|
}
|
|
58
65
|
|
|
59
|
-
|
|
66
|
+
var result: [String: Any] = [
|
|
60
67
|
"deviceId": deviceId,
|
|
61
68
|
"model": model,
|
|
62
69
|
"modelId": modelId,
|
|
@@ -72,7 +79,11 @@ class PaywalloDevice: NSObject {
|
|
|
72
79
|
"carrier": carrier,
|
|
73
80
|
"idfv": deviceId,
|
|
74
81
|
"installerPackage": NSNull(),
|
|
82
|
+
"darwinVersion": darwinVersion as Any,
|
|
75
83
|
]
|
|
84
|
+
if let wkv = webkitVersion {
|
|
85
|
+
result["webkitVersion"] = wkv
|
|
86
|
+
}
|
|
76
87
|
|
|
77
88
|
resolve(result)
|
|
78
89
|
}
|
|
@@ -88,4 +99,21 @@ class PaywalloDevice: NSObject {
|
|
|
88
99
|
sysctlbyname("hw.machine", &machine, &size, nil, 0)
|
|
89
100
|
return String(cString: machine)
|
|
90
101
|
}
|
|
102
|
+
|
|
103
|
+
private func getDarwinVersion() -> String? {
|
|
104
|
+
var size = 0
|
|
105
|
+
sysctlbyname("kern.osrelease", nil, &size, nil, 0)
|
|
106
|
+
guard size > 0 else { return nil }
|
|
107
|
+
var release = [CChar](repeating: 0, count: size)
|
|
108
|
+
sysctlbyname("kern.osrelease", &release, &size, nil, 0)
|
|
109
|
+
return String(cString: release)
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
private func getWebKitVersion() -> String? {
|
|
113
|
+
guard let ua = WKWebView().value(forKey: "userAgent") as? String else { return nil }
|
|
114
|
+
// Extract AppleWebKit/605.1.15 → "605.1.15"
|
|
115
|
+
guard let range = ua.range(of: #"AppleWebKit/([\d.]+)"#, options: .regularExpression) else { return nil }
|
|
116
|
+
let match = String(ua[range])
|
|
117
|
+
return match.components(separatedBy: "/").last
|
|
118
|
+
}
|
|
91
119
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@virex-tech/paywallo-sdk",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.2.1",
|
|
4
4
|
"description": "SDK React Native para integração com Paywallo - Paywalls, Subscriptions e Analytics",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.mjs",
|
|
@@ -81,7 +81,7 @@
|
|
|
81
81
|
"devDependencies": {
|
|
82
82
|
"@eslint/js": "^9.0.0",
|
|
83
83
|
"@types/react": "^19.0.0",
|
|
84
|
-
"@vitest/coverage-v8": "^4.1.
|
|
84
|
+
"@vitest/coverage-v8": "^4.1.5",
|
|
85
85
|
"eslint": "^9.0.0",
|
|
86
86
|
"eslint-config-prettier": "^10.0.0",
|
|
87
87
|
"eslint-plugin-simple-import-sort": "^12.0.0",
|