@npaw/forge-react-native 9.6.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.
Files changed (74) hide show
  1. package/LICENSE +10 -0
  2. package/NPAWForgeReactNative.podspec +44 -0
  3. package/README.md +51 -0
  4. package/android/build.gradle +77 -0
  5. package/android/src/main/AndroidManifest.xml +14 -0
  6. package/android/src/main/java/com/npaw/forge/reactnative/ForgeDtoMapper.java +295 -0
  7. package/android/src/main/java/com/npaw/forge/reactnative/ForgeInstanceRegistry.java +61 -0
  8. package/android/src/main/java/com/npaw/forge/reactnative/NPAWForgeModule.java +735 -0
  9. package/android/src/main/java/com/npaw/forge/reactnative/NPAWForgePackage.java +53 -0
  10. package/android/src/test/java/com/npaw/forge/reactnative/ForgeDtoMapperTest.java +133 -0
  11. package/ios/ForgeApple/ForgeKernelFFI.xcframework/Info.plist +82 -0
  12. package/ios/ForgeApple/ForgeKernelFFI.xcframework/ios-arm64/Headers/ForgeKernelFFI.h +17 -0
  13. package/ios/ForgeApple/ForgeKernelFFI.xcframework/ios-arm64/Headers/forge_kernelFFI.h +873 -0
  14. package/ios/ForgeApple/ForgeKernelFFI.xcframework/ios-arm64/Headers/module.modulemap +7 -0
  15. package/ios/ForgeApple/ForgeKernelFFI.xcframework/ios-arm64/libForgeKernelFFI.a +0 -0
  16. package/ios/ForgeApple/ForgeKernelFFI.xcframework/ios-arm64_x86_64-simulator/Headers/ForgeKernelFFI.h +17 -0
  17. package/ios/ForgeApple/ForgeKernelFFI.xcframework/ios-arm64_x86_64-simulator/Headers/forge_kernelFFI.h +873 -0
  18. package/ios/ForgeApple/ForgeKernelFFI.xcframework/ios-arm64_x86_64-simulator/Headers/module.modulemap +7 -0
  19. package/ios/ForgeApple/ForgeKernelFFI.xcframework/ios-arm64_x86_64-simulator/libForgeKernelFFI.a +0 -0
  20. package/ios/ForgeApple/ForgeKernelFFI.xcframework/tvos-arm64/Headers/ForgeKernelFFI.h +17 -0
  21. package/ios/ForgeApple/ForgeKernelFFI.xcframework/tvos-arm64/Headers/forge_kernelFFI.h +873 -0
  22. package/ios/ForgeApple/ForgeKernelFFI.xcframework/tvos-arm64/Headers/module.modulemap +7 -0
  23. package/ios/ForgeApple/ForgeKernelFFI.xcframework/tvos-arm64/libForgeKernelFFI.a +0 -0
  24. package/ios/ForgeApple/ForgeKernelFFI.xcframework/tvos-arm64-simulator/Headers/ForgeKernelFFI.h +17 -0
  25. package/ios/ForgeApple/ForgeKernelFFI.xcframework/tvos-arm64-simulator/Headers/forge_kernelFFI.h +873 -0
  26. package/ios/ForgeApple/ForgeKernelFFI.xcframework/tvos-arm64-simulator/Headers/module.modulemap +7 -0
  27. package/ios/ForgeApple/ForgeKernelFFI.xcframework/tvos-arm64-simulator/libForgeKernelFFI.a +0 -0
  28. package/ios/ForgeApple/Sources/ForgeKernelUniFFI/forge_kernel.swift +3931 -0
  29. package/ios/ForgeApple/Sources/ForgeKernelUniFFI/forge_kernelFFI.h +873 -0
  30. package/ios/ForgeApple/Sources/ForgeKernelUniFFI/forge_kernelFFI.modulemap +7 -0
  31. package/ios/ForgeApple/Sources/NPAWForgeAVPlayerAdapter/AVPlayerAccessLogFacts.swift +152 -0
  32. package/ios/ForgeApple/Sources/NPAWForgeAVPlayerAdapter/AVPlayerAdapter.swift +877 -0
  33. package/ios/ForgeApple/Sources/NPAWForgeCapture/AttributionCapture.swift +158 -0
  34. package/ios/ForgeApple/Sources/NPAWForgeCapture/CapturePlanGate.swift +189 -0
  35. package/ios/ForgeApple/Sources/NPAWForgeCapture/CrashCapture.swift +120 -0
  36. package/ios/ForgeApple/Sources/NPAWForgeCapture/ForgeAutomaticCapture.swift +639 -0
  37. package/ios/ForgeApple/Sources/NPAWForgeCapture/SectionsCapture.swift +1176 -0
  38. package/ios/ForgeApple/Sources/NPAWForgeCapture/SectionsEngine.swift +674 -0
  39. package/ios/ForgeApple/Sources/NPAWForgeCapture/SectionsMarkers.swift +105 -0
  40. package/ios/ForgeApple/Sources/NPAWForgeCapture/SectionsSwiftUI.swift +284 -0
  41. package/ios/ForgeApple/Sources/NPAWForgeCapture/SwiftUICapture.swift +44 -0
  42. package/ios/ForgeApple/Sources/NPAWForgeCore/AdAdapter.swift +199 -0
  43. package/ios/ForgeApple/Sources/NPAWForgeCore/AdSemantics.swift +136 -0
  44. package/ios/ForgeApple/Sources/NPAWForgeCore/ForgeApple.swift +596 -0
  45. package/ios/ForgeApple/Sources/NPAWForgeCore/ForgeCapturePlan.swift +297 -0
  46. package/ios/ForgeApple/Sources/NPAWForgeCore/ForgeClock.swift +29 -0
  47. package/ios/ForgeApple/Sources/NPAWForgeCore/ForgeLogging.swift +109 -0
  48. package/ios/ForgeApple/Sources/NPAWForgeCore/ForgeOutcome.swift +89 -0
  49. package/ios/ForgeApple/Sources/NPAWForgeCore/ForgeRuntime.swift +291 -0
  50. package/ios/ForgeApple/Sources/NPAWForgeCore/ForgeStorage.swift +70 -0
  51. package/ios/ForgeApple/Sources/NPAWForgeCore/ManualAdReporter.swift +180 -0
  52. package/ios/ForgeApple/Sources/NPAWForgeCore/NPAWForge.swift +453 -0
  53. package/ios/ForgeApple/Sources/NPAWForgeCore/NativeUniFFIRuntime.swift +594 -0
  54. package/ios/ForgeApple/Sources/NPAWForgeCore/NetworkRequestRecord.swift +191 -0
  55. package/ios/ForgeApple/Sources/NPAWForgeCore/ObjectiveCWrappers.swift +191 -0
  56. package/ios/ForgeApple/Sources/NPAWForgeCore/PlayerAdapter.swift +299 -0
  57. package/ios/ForgeApple/Sources/NPAWForgeCore/PlayerSemantics.swift +266 -0
  58. package/ios/ForgeApple/Sources/NPAWForgeCore/PrivacySanitizer.swift +59 -0
  59. package/ios/ForgeApple/Sources/NPAWForgeCore/VideoAdapter.swift +478 -0
  60. package/ios/ForgeApple/Sources/NPAWForgeCore/VideoOptions.swift +431 -0
  61. package/ios/ForgeApple/Sources/NPAWForgeNetworkCapture/ForgeNetworkCapture.swift +116 -0
  62. package/ios/ForgeApple/Sources/NPAWForgeNetworkCaptureObjC/NPAWForgeNetworkSwizzler.m +293 -0
  63. package/ios/ForgeApple/Sources/NPAWForgeNetworkCaptureObjC/include/NPAWForgeNetworkSwizzler.h +33 -0
  64. package/ios/ForgeModuleImpl.swift +1131 -0
  65. package/ios/NPAWForgeTurboModule.mm +399 -0
  66. package/package.json +33 -0
  67. package/src/ForgeAdReporter.ts +101 -0
  68. package/src/ForgeVideo.ts +169 -0
  69. package/src/NPAWForge.ts +177 -0
  70. package/src/capture.ts +192 -0
  71. package/src/events.ts +40 -0
  72. package/src/index.ts +37 -0
  73. package/src/specs/NativeNPAWForge.ts +168 -0
  74. package/src/types.ts +114 -0
@@ -0,0 +1,136 @@
1
+ /**
2
+ * Copyright (C) NPAW - All Rights Reserved
3
+ *
4
+ * This source code is protected under international copyright law. All rights
5
+ * reserved and protected by the copyright holders.
6
+ * This file is confidential and only available to authorized individuals with the
7
+ * permission of the copyright holders. If you encounter this file and do not have
8
+ * permission, please contact the copyright holders and delete this file.
9
+ *
10
+ *
11
+ * @author: Victor Soto <victor.soto@nicepeopleatwork.com>
12
+ * @description: Apple ad semantic event and metadata snapshot model.
13
+ */
14
+
15
+ import Foundation
16
+
17
+ public enum AdEvent: String {
18
+ case manifest = "AD_MANIFEST"
19
+ case breakStart = "AD_BREAK_START"
20
+ case adInit = "AD_INIT"
21
+ case start = "AD_START"
22
+ case join = "AD_JOIN"
23
+ case pause = "AD_PAUSE"
24
+ case resume = "AD_RESUME"
25
+ case bufferBegin = "AD_BUFFER_BEGIN"
26
+ case bufferEnd = "AD_BUFFER_END"
27
+ case quartile = "AD_QUARTILE"
28
+ case click = "AD_CLICK"
29
+ case skip = "AD_SKIP"
30
+ case stop = "AD_STOP"
31
+ case error = "AD_ERROR"
32
+ case fatalError = "AD_FATAL_ERROR"
33
+ case breakStop = "AD_BREAK_STOP"
34
+ }
35
+
36
+ public enum AdInsertionType: String {
37
+ case clientSide = "CLIENT_SIDE"
38
+ case serverSide = "SERVER_SIDE"
39
+ case unknown = "UNKNOWN"
40
+ }
41
+
42
+ public enum AdPosition: String {
43
+ case pre = "PRE"
44
+ case mid = "MID"
45
+ case post = "POST"
46
+ case unknown = "UNKNOWN"
47
+ }
48
+
49
+ public struct AdViewabilitySample: Equatable {
50
+ public var maxIntervalMs: Int64?
51
+ public var viewedDurationMs: Int64?
52
+
53
+ public init(maxIntervalMs: Int64? = nil, viewedDurationMs: Int64? = nil) {
54
+ self.maxIntervalMs = maxIntervalMs
55
+ self.viewedDurationMs = viewedDurationMs
56
+ }
57
+ }
58
+
59
+ public struct AdMetadataSnapshot: Equatable {
60
+ public var adId: String?
61
+ public var creativeId: String?
62
+ public var adUrl: String?
63
+ public var adTitle: String?
64
+ public var adDurationMs: Int64?
65
+ public var adPlayheadMs: Int64?
66
+ public var adBitrate: Int64?
67
+ public var position: AdPosition?
68
+ public var quartile: Int?
69
+ public var insertionType: AdInsertionType
70
+ public var viewability: AdViewabilitySample?
71
+ public var errorCode: String?
72
+ public var errorMessage: String?
73
+ public var errorMetadata: String?
74
+ public var errorLevel: String?
75
+ /// Additive string-key metadata overlay forwarded to the shared Rust
76
+ /// core. Keys follow the same contract as the Android ad metadata map
77
+ /// (for example `adCampaign`, `adProvider`, `__legacyAdDimension.<name>`);
78
+ /// typed snapshot fields always win over overlay keys.
79
+ public var extraParams: [String: String]
80
+
81
+ public init(
82
+ adId: String? = nil,
83
+ creativeId: String? = nil,
84
+ adUrl: String? = nil,
85
+ adTitle: String? = nil,
86
+ adDurationMs: Int64? = nil,
87
+ adPlayheadMs: Int64? = nil,
88
+ adBitrate: Int64? = nil,
89
+ position: AdPosition? = nil,
90
+ quartile: Int? = nil,
91
+ insertionType: AdInsertionType = .unknown,
92
+ viewability: AdViewabilitySample? = nil,
93
+ errorCode: String? = nil,
94
+ errorMessage: String? = nil,
95
+ errorMetadata: String? = nil,
96
+ errorLevel: String? = nil,
97
+ extraParams: [String: String] = [:]
98
+ ) {
99
+ self.adId = adId
100
+ self.creativeId = creativeId
101
+ self.adUrl = adUrl
102
+ self.adTitle = adTitle
103
+ self.adDurationMs = adDurationMs
104
+ self.adPlayheadMs = adPlayheadMs
105
+ self.adBitrate = adBitrate
106
+ self.position = position
107
+ self.quartile = quartile
108
+ self.insertionType = insertionType
109
+ self.viewability = viewability
110
+ self.errorCode = errorCode
111
+ self.errorMessage = errorMessage
112
+ self.errorMetadata = errorMetadata
113
+ self.errorLevel = errorLevel
114
+ self.extraParams = extraParams
115
+ }
116
+ }
117
+
118
+ public struct AdapterDescriptor: Equatable {
119
+ public enum Category: String {
120
+ case player
121
+ case partnerPlayer
122
+ case ad
123
+ }
124
+
125
+ public var adapterId: String
126
+ public var category: Category
127
+ public var playerFamily: String
128
+ public var version: String
129
+
130
+ public init(adapterId: String, category: Category, playerFamily: String, version: String) {
131
+ self.adapterId = adapterId
132
+ self.category = category
133
+ self.playerFamily = playerFamily
134
+ self.version = version
135
+ }
136
+ }