@maplibre/maplibre-react-native 11.0.0-beta.19 → 11.0.0-beta.20

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 (59) hide show
  1. package/android/src/main/java/org/maplibre/reactnative/MLRNPackage.kt +13 -0
  2. package/android/src/main/java/org/maplibre/reactnative/modules/MLRNLogModule.kt +2 -0
  3. package/android/src/main/java/org/maplibre/reactnative/modules/MLRNNetworkModule.kt +0 -42
  4. package/android/src/main/java/org/maplibre/reactnative/modules/MLRNTransformRequestModule.kt +144 -0
  5. package/android/src/main/java/org/maplibre/reactnative/modules/TransformRequestInterceptor.kt +184 -0
  6. package/ios/modules/logging/MLRNLogging.h +4 -0
  7. package/ios/modules/logging/MLRNLogging.m +8 -0
  8. package/ios/modules/network/MLRNNetworkModule.mm +0 -10
  9. package/ios/modules/transform-request/MLRNTransformRequest.h +38 -0
  10. package/ios/modules/transform-request/MLRNTransformRequest.m +413 -0
  11. package/ios/modules/transform-request/MLRNTransformRequestModule.h +9 -0
  12. package/ios/modules/transform-request/MLRNTransformRequestModule.mm +72 -0
  13. package/lib/commonjs/index.js +7 -0
  14. package/lib/commonjs/index.js.map +1 -1
  15. package/lib/commonjs/modules/network/NativeNetworkModule.js.map +1 -1
  16. package/lib/commonjs/modules/network/NetworkManager.js +1 -39
  17. package/lib/commonjs/modules/network/NetworkManager.js.map +1 -1
  18. package/lib/commonjs/modules/transform-request/NativeTransformRequestModule.js +9 -0
  19. package/lib/commonjs/modules/transform-request/NativeTransformRequestModule.js.map +1 -0
  20. package/lib/commonjs/modules/transform-request/TransformRequestManager.js +223 -0
  21. package/lib/commonjs/modules/transform-request/TransformRequestManager.js.map +1 -0
  22. package/lib/module/index.js +1 -0
  23. package/lib/module/index.js.map +1 -1
  24. package/lib/module/modules/network/NativeNetworkModule.js.map +1 -1
  25. package/lib/module/modules/network/NetworkManager.js +1 -39
  26. package/lib/module/modules/network/NetworkManager.js.map +1 -1
  27. package/lib/module/modules/transform-request/NativeTransformRequestModule.js +5 -0
  28. package/lib/module/modules/transform-request/NativeTransformRequestModule.js.map +1 -0
  29. package/lib/module/modules/transform-request/TransformRequestManager.js +220 -0
  30. package/lib/module/modules/transform-request/TransformRequestManager.js.map +1 -0
  31. package/lib/typescript/commonjs/index.d.ts +1 -0
  32. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  33. package/lib/typescript/commonjs/modules/network/NativeNetworkModule.d.ts +0 -2
  34. package/lib/typescript/commonjs/modules/network/NativeNetworkModule.d.ts.map +1 -1
  35. package/lib/typescript/commonjs/modules/network/NetworkManager.d.ts +1 -33
  36. package/lib/typescript/commonjs/modules/network/NetworkManager.d.ts.map +1 -1
  37. package/lib/typescript/commonjs/modules/transform-request/NativeTransformRequestModule.d.ts +15 -0
  38. package/lib/typescript/commonjs/modules/transform-request/NativeTransformRequestModule.d.ts.map +1 -0
  39. package/lib/typescript/commonjs/modules/transform-request/TransformRequestManager.d.ts +201 -0
  40. package/lib/typescript/commonjs/modules/transform-request/TransformRequestManager.d.ts.map +1 -0
  41. package/lib/typescript/module/index.d.ts +1 -0
  42. package/lib/typescript/module/index.d.ts.map +1 -1
  43. package/lib/typescript/module/modules/network/NativeNetworkModule.d.ts +0 -2
  44. package/lib/typescript/module/modules/network/NativeNetworkModule.d.ts.map +1 -1
  45. package/lib/typescript/module/modules/network/NetworkManager.d.ts +1 -33
  46. package/lib/typescript/module/modules/network/NetworkManager.d.ts.map +1 -1
  47. package/lib/typescript/module/modules/transform-request/NativeTransformRequestModule.d.ts +15 -0
  48. package/lib/typescript/module/modules/transform-request/NativeTransformRequestModule.d.ts.map +1 -0
  49. package/lib/typescript/module/modules/transform-request/TransformRequestManager.d.ts +201 -0
  50. package/lib/typescript/module/modules/transform-request/TransformRequestManager.d.ts.map +1 -0
  51. package/package.json +1 -12
  52. package/src/index.ts +8 -0
  53. package/src/modules/network/NativeNetworkModule.ts +0 -4
  54. package/src/modules/network/NetworkManager.ts +1 -47
  55. package/src/modules/transform-request/NativeTransformRequestModule.ts +41 -0
  56. package/src/modules/transform-request/TransformRequestManager.ts +292 -0
  57. package/android/src/main/java/org/maplibre/reactnative/http/RequestHeadersInterceptor.kt +0 -65
  58. package/ios/modules/network/MLRNNetworkHTTPHeaders.h +0 -14
  59. package/ios/modules/network/MLRNNetworkHTTPHeaders.m +0 -97
@@ -0,0 +1,413 @@
1
+ #import "MLRNTransformRequest.h"
2
+ #import <MapLibre/MLNNetworkConfiguration.h>
3
+ #import <MapLibre/MapLibre.h>
4
+
5
+ static NSString *MLRNTRMatchDescription(NSRegularExpression *_Nullable match) {
6
+ return match != nil ? [NSString stringWithFormat:@" (match='%@')", match.pattern] : @"";
7
+ }
8
+
9
+ // MARK: TransformConfig
10
+
11
+ @interface TransformConfig : NSObject
12
+ @property (nonatomic, copy) NSString *id;
13
+ @property (nonatomic, strong, nullable) NSRegularExpression *match;
14
+
15
+ - (instancetype)initWithId:(nonnull NSString *)id match:(nullable NSString *)match;
16
+ @end
17
+
18
+ @implementation TransformConfig
19
+
20
+ - (instancetype)initWithId:(nonnull NSString *)id match:(nullable NSString *)match {
21
+ if (self = [super init]) {
22
+ _id = id;
23
+
24
+ if (match != nil) {
25
+ NSError *error = nil;
26
+ _match = [NSRegularExpression regularExpressionWithPattern:match options:0 error:&error];
27
+ if (error != nil) {
28
+ @throw [NSException
29
+ exceptionWithName:NSInvalidArgumentException
30
+ reason:[NSString stringWithFormat:@"[MLRNTransformRequest] Invalid match "
31
+ @"regex pattern '%@': %@",
32
+ match, error.localizedDescription]
33
+ userInfo:nil];
34
+ }
35
+ }
36
+ }
37
+
38
+ return self;
39
+ }
40
+
41
+ @end
42
+
43
+ // MARK: UrlTransformConfig
44
+
45
+ @interface UrlTransformConfig : TransformConfig
46
+ @property (nonatomic, strong) NSRegularExpression *find;
47
+ @property (nonatomic, strong) NSString *replace;
48
+
49
+ - (instancetype)initWithId:(nonnull NSString *)id
50
+ match:(nullable NSString *)match
51
+ find:(nonnull NSString *)find
52
+ replace:(nonnull NSString *)replace;
53
+ @end
54
+
55
+ @implementation UrlTransformConfig
56
+
57
+ - (instancetype)initWithId:(nonnull NSString *)id
58
+ match:(nullable NSString *)match
59
+ find:(nonnull NSString *)find
60
+ replace:(nonnull NSString *)replace {
61
+ if (self = [super initWithId:id match:match]) {
62
+ NSError *error = nil;
63
+ _find = [NSRegularExpression regularExpressionWithPattern:find options:0 error:&error];
64
+ if (error != nil || _find == nil) {
65
+ @throw [NSException
66
+ exceptionWithName:NSInvalidArgumentException
67
+ reason:[NSString stringWithFormat:@"[MLRNTransformRequest] addUrlTransform "
68
+ @"'%@': invalid find regex '%@': %@",
69
+ id, find, error.localizedDescription]
70
+ userInfo:nil];
71
+ }
72
+ _replace = replace;
73
+ }
74
+
75
+ return self;
76
+ }
77
+
78
+ @end
79
+
80
+ // MARK: UrlSearchParamConfig
81
+
82
+ @interface UrlSearchParamConfig : TransformConfig
83
+ @property (nonatomic, strong) NSString *name;
84
+ @property (nonatomic, strong) NSString *value;
85
+
86
+ - (instancetype)initWithId:(nonnull NSString *)transformId
87
+ match:(nullable NSString *)match
88
+ name:(nonnull NSString *)name
89
+ value:(nonnull NSString *)value;
90
+ @end
91
+
92
+ @implementation UrlSearchParamConfig
93
+
94
+ - (instancetype)initWithId:(nonnull NSString *)id
95
+ match:(nullable NSString *)match
96
+ name:(nonnull NSString *)name
97
+ value:(nonnull NSString *)value {
98
+ if (self = [super initWithId:id match:match]) {
99
+ _name = name;
100
+ _value = value;
101
+ }
102
+
103
+ return self;
104
+ }
105
+
106
+ @end
107
+
108
+ // MARK: HeaderConfig
109
+
110
+ @interface HeaderConfig : TransformConfig
111
+ @property (nonatomic, strong) NSString *name;
112
+ @property (nonatomic, strong) NSString *value;
113
+
114
+ - (instancetype)initWithId:(nonnull NSString *)transformId
115
+ match:(nullable NSString *)match
116
+ name:(nonnull NSString *)name
117
+ value:(nonnull NSString *)value;
118
+ @end
119
+
120
+ @implementation HeaderConfig
121
+
122
+ - (instancetype)initWithId:(nonnull NSString *)transformId
123
+ match:(nullable NSString *)match
124
+ name:(nonnull NSString *)name
125
+ value:(nonnull NSString *)value {
126
+ if (self = [super initWithId:transformId match:match]) {
127
+ _name = name;
128
+ _value = value;
129
+ }
130
+
131
+ return self;
132
+ }
133
+
134
+ @end
135
+
136
+ // MARK: MLRNTransformRequest
137
+
138
+ @implementation MLRNTransformRequest {
139
+ NSMutableArray<UrlTransformConfig *> *urlTransforms;
140
+ NSMutableArray<UrlSearchParamConfig *> *urlSearchParams;
141
+ NSMutableArray<HeaderConfig *> *headers;
142
+ }
143
+
144
+ - (instancetype)init {
145
+ if (self = [super init]) {
146
+ urlTransforms = [[NSMutableArray alloc] init];
147
+ urlSearchParams = [[NSMutableArray alloc] init];
148
+ headers = [[NSMutableArray alloc] init];
149
+ [[MLNNetworkConfiguration sharedManager] setDelegate:self];
150
+ }
151
+
152
+ return self;
153
+ }
154
+
155
+ + (MLRNTransformRequest *)sharedInstance {
156
+ static MLRNTransformRequest *transformRequest;
157
+ static dispatch_once_t onceToken;
158
+
159
+ dispatch_once(&onceToken, ^{
160
+ transformRequest = [[self alloc] init];
161
+ });
162
+
163
+ return transformRequest;
164
+ }
165
+
166
+ // MARK: Logging
167
+
168
+ - (void)debugLog:(NSString *)message {
169
+ #ifdef DEBUG
170
+ NSLog(@"[TransformRequest] %@", message);
171
+ #endif
172
+ if (self.logCallback) {
173
+ self.logCallback(@"debug", @"TransformRequest", message);
174
+ }
175
+ }
176
+
177
+ - (void)errorLog:(NSString *)message {
178
+ NSLog(@"[TransformRequest] ERROR: %@", message);
179
+ if (self.logCallback) {
180
+ self.logCallback(@"error", @"TransformRequest", message);
181
+ }
182
+ }
183
+
184
+ // MARK: URL Transforms
185
+
186
+ - (void)addUrlTransform:(NSString *)transformId
187
+ match:(nullable NSString *)match
188
+ find:(NSString *)find
189
+ replace:(NSString *)replace {
190
+ UrlTransformConfig *config = [[UrlTransformConfig alloc] initWithId:transformId
191
+ match:match
192
+ find:find
193
+ replace:replace];
194
+
195
+ for (UrlTransformConfig *existing in urlTransforms) {
196
+ if ([existing.id isEqualToString:transformId]) {
197
+ NSUInteger idx = [urlTransforms indexOfObject:existing];
198
+ [urlTransforms replaceObjectAtIndex:idx withObject:config];
199
+ return;
200
+ }
201
+ }
202
+
203
+ [urlTransforms addObject:config];
204
+ }
205
+
206
+ - (void)removeUrlTransform:(NSString *)transformId {
207
+ NSUInteger idx = [urlTransforms
208
+ indexOfObjectPassingTest:^BOOL(UrlTransformConfig *c, NSUInteger i, BOOL *stop) {
209
+ return [c.id isEqualToString:transformId];
210
+ }];
211
+ if (idx != NSNotFound) {
212
+ [urlTransforms removeObjectAtIndex:idx];
213
+ }
214
+ }
215
+
216
+ - (void)clearUrlTransforms {
217
+ [urlTransforms removeAllObjects];
218
+ }
219
+
220
+ // MARK: URL Search Params
221
+
222
+ - (void)addUrlSearchParam:(NSString *)transformId
223
+ match:(nullable NSString *)match
224
+ name:(NSString *)name
225
+ value:(NSString *)value {
226
+ UrlSearchParamConfig *config = [[UrlSearchParamConfig alloc] initWithId:transformId
227
+ match:match
228
+ name:name
229
+ value:value];
230
+
231
+ // Update in-place when the id already exists — preserves order
232
+ for (UrlSearchParamConfig *existing in urlSearchParams) {
233
+ if ([existing.id isEqualToString:transformId]) {
234
+ NSUInteger idx = [urlSearchParams indexOfObject:existing];
235
+ [urlSearchParams replaceObjectAtIndex:idx withObject:config];
236
+ return;
237
+ }
238
+ }
239
+
240
+ [urlSearchParams addObject:config];
241
+ }
242
+
243
+ - (void)removeUrlSearchParam:(NSString *)transformId {
244
+ NSUInteger idx = [urlSearchParams
245
+ indexOfObjectPassingTest:^BOOL(UrlSearchParamConfig *c, NSUInteger i, BOOL *stop) {
246
+ return [c.id isEqualToString:transformId];
247
+ }];
248
+ if (idx != NSNotFound) {
249
+ [urlSearchParams removeObjectAtIndex:idx];
250
+ }
251
+ }
252
+
253
+ - (void)clearUrlSearchParams {
254
+ [urlSearchParams removeAllObjects];
255
+ }
256
+
257
+ // MARK: Headers
258
+
259
+ - (void)addHeader:(NSString *)transformId
260
+ match:(nullable NSString *)match
261
+ name:(NSString *)name
262
+ value:(NSString *)value {
263
+ HeaderConfig *config = [[HeaderConfig alloc] initWithId:transformId
264
+ match:match
265
+ name:name
266
+ value:value];
267
+
268
+ for (HeaderConfig *existing in headers) {
269
+ if ([existing.id isEqualToString:transformId]) {
270
+ NSUInteger idx = [headers indexOfObject:existing];
271
+ [headers replaceObjectAtIndex:idx withObject:config];
272
+ return;
273
+ }
274
+ }
275
+
276
+ [headers addObject:config];
277
+ }
278
+
279
+ - (void)removeHeader:(NSString *)transformId {
280
+ NSUInteger idx =
281
+ [headers indexOfObjectPassingTest:^BOOL(HeaderConfig *c, NSUInteger i, BOOL *stop) {
282
+ return [c.id isEqualToString:transformId];
283
+ }];
284
+ if (idx != NSNotFound) {
285
+ [headers removeObjectAtIndex:idx];
286
+ }
287
+ }
288
+
289
+ - (void)clearHeaders {
290
+ [headers removeAllObjects];
291
+ }
292
+
293
+ // MARK: MLNNetworkConfigurationDelegate
294
+
295
+ - (NSMutableURLRequest *)willSendRequest:(NSMutableURLRequest *)request {
296
+ NSArray<UrlTransformConfig *> *currentTransforms = [urlTransforms copy];
297
+ NSArray<UrlSearchParamConfig *> *currentParams = [urlSearchParams copy];
298
+ NSArray<HeaderConfig *> *currentHeaders = [headers copy];
299
+
300
+ BOOL hasConfig =
301
+ currentTransforms.count > 0 || currentParams.count > 0 || currentHeaders.count > 0;
302
+
303
+ if (hasConfig) {
304
+ [self debugLog:[NSString stringWithFormat:@"Request: %@", request.URL.absoluteString]];
305
+ }
306
+
307
+ // 1. URL transforms
308
+ for (UrlTransformConfig *config in currentTransforms) {
309
+ NSString *currentUrl = request.URL.absoluteString;
310
+
311
+ if (config.match != nil) {
312
+ NSRange r = [config.match rangeOfFirstMatchInString:currentUrl
313
+ options:0
314
+ range:NSMakeRange(0, currentUrl.length)];
315
+ if (r.location == NSNotFound) {
316
+ [self debugLog:[NSString stringWithFormat:@" URL Transform [%@]%@: SKIPPED (no match)",
317
+ config.id, MLRNTRMatchDescription(config.match)]];
318
+ continue;
319
+ }
320
+ }
321
+
322
+ NSString *transformed =
323
+ [config.find stringByReplacingMatchesInString:currentUrl
324
+ options:0
325
+ range:NSMakeRange(0, currentUrl.length)
326
+ withTemplate:config.replace];
327
+ NSURL *newURL = [NSURL URLWithString:transformed];
328
+ if (newURL == nil) {
329
+ [self errorLog:[NSString stringWithFormat:@"URL Transform [%@]%@: produced invalid URL '%@',"
330
+ @" using pre-transform URL",
331
+ config.id, MLRNTRMatchDescription(config.match),
332
+ transformed]];
333
+ } else {
334
+ [self debugLog:[NSString stringWithFormat:@" URL Transform [%@]%@: APPLIED '%@' → '%@'",
335
+ config.id, MLRNTRMatchDescription(config.match),
336
+ currentUrl, transformed]];
337
+ [request setURL:newURL];
338
+ }
339
+ }
340
+
341
+ // 2. URL search params
342
+ if (currentParams.count > 0) {
343
+ NSURLComponents *urlComponents = [NSURLComponents componentsWithURL:request.URL
344
+ resolvingAgainstBaseURL:NO];
345
+ NSMutableArray<NSURLQueryItem *> *queryItems =
346
+ [NSMutableArray arrayWithArray:urlComponents.queryItems ?: @[]];
347
+
348
+ for (UrlSearchParamConfig *config in currentParams) {
349
+ BOOL shouldApply = YES;
350
+
351
+ if (config.match != nil) {
352
+ NSRange range = [config.match
353
+ rangeOfFirstMatchInString:request.URL.absoluteString
354
+ options:0
355
+ range:NSMakeRange(0, request.URL.absoluteString.length)];
356
+ shouldApply = (range.location != NSNotFound);
357
+ }
358
+
359
+ if (shouldApply) {
360
+ [self debugLog:[NSString stringWithFormat:@" URL Search Param [%@]%@: APPLIED '%@=%@'",
361
+ config.id, MLRNTRMatchDescription(config.match),
362
+ config.name, config.value]];
363
+
364
+ for (NSInteger i = queryItems.count - 1; i >= 0; i--) {
365
+ if ([queryItems[(NSUInteger)i].name isEqualToString:config.name]) {
366
+ [queryItems removeObjectAtIndex:(NSUInteger)i];
367
+ }
368
+ }
369
+
370
+ [queryItems addObject:[NSURLQueryItem queryItemWithName:config.name value:config.value]];
371
+ } else {
372
+ [self debugLog:[NSString stringWithFormat:@" URL Search Param [%@]%@: SKIPPED (no match)",
373
+ config.id, MLRNTRMatchDescription(config.match)]];
374
+ }
375
+ }
376
+
377
+ urlComponents.queryItems = queryItems;
378
+ if (urlComponents.URL != nil) {
379
+ [request setURL:urlComponents.URL];
380
+ }
381
+ }
382
+
383
+ // 3. Headers
384
+ for (HeaderConfig *config in currentHeaders) {
385
+ BOOL shouldApply = YES;
386
+
387
+ if (config.match != nil) {
388
+ NSRange range = [config.match
389
+ rangeOfFirstMatchInString:request.URL.absoluteString
390
+ options:0
391
+ range:NSMakeRange(0, request.URL.absoluteString.length)];
392
+ shouldApply = (range.location != NSNotFound);
393
+ }
394
+
395
+ if (shouldApply) {
396
+ [self debugLog:[NSString stringWithFormat:@" Header [%@]%@: APPLIED '%@: %@'", config.id,
397
+ MLRNTRMatchDescription(config.match), config.name,
398
+ config.value]];
399
+ [request setValue:config.value forHTTPHeaderField:config.name];
400
+ } else {
401
+ [self debugLog:[NSString stringWithFormat:@" Header [%@]%@: SKIPPED (no match)", config.id,
402
+ MLRNTRMatchDescription(config.match)]];
403
+ }
404
+ }
405
+
406
+ if (hasConfig) {
407
+ [self debugLog:[NSString stringWithFormat:@"Final URL: %@", request.URL.absoluteString]];
408
+ }
409
+
410
+ return request;
411
+ }
412
+
413
+ @end
@@ -0,0 +1,9 @@
1
+ #import <MapLibreReactNativeSpec/MapLibreReactNativeSpec.h>
2
+
3
+ NS_ASSUME_NONNULL_BEGIN
4
+
5
+ @interface MLRNTransformRequestModule
6
+ : NativeTransformRequestModuleSpecBase <NativeTransformRequestModuleSpec>
7
+ @end
8
+
9
+ NS_ASSUME_NONNULL_END
@@ -0,0 +1,72 @@
1
+ #import "MLRNTransformRequestModule.h"
2
+ #import "MLRNLogging.h"
3
+ #import "MLRNTransformRequest.h"
4
+
5
+ @implementation MLRNTransformRequestModule
6
+
7
+ + (NSString *)moduleName {
8
+ return @"MLRNTransformRequestModule";
9
+ }
10
+
11
+ - (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
12
+ (const facebook::react::ObjCTurboModule::InitParams &)params {
13
+ return std::make_shared<facebook::react::NativeTransformRequestModuleSpecJSI>(params);
14
+ }
15
+
16
+ - (instancetype)init {
17
+ if (self = [super init]) {
18
+ MLRNLogging *logging = [[MLRNLogging alloc] init];
19
+ [MLRNTransformRequest sharedInstance].logCallback =
20
+ ^(NSString *level, NSString *tag, NSString *message) {
21
+ [logging forwardLog:level tag:tag message:message];
22
+ };
23
+ }
24
+ return self;
25
+ }
26
+
27
+ - (void)addUrlTransform:(NSString *)id
28
+ match:(NSString *_Nullable)match
29
+ find:(NSString *)find
30
+ replace:(NSString *)replace {
31
+ [MLRNTransformRequest.sharedInstance addUrlTransform:id match:match find:find replace:replace];
32
+ }
33
+
34
+ - (void)removeUrlTransform:(NSString *)id {
35
+ [MLRNTransformRequest.sharedInstance removeUrlTransform:id];
36
+ }
37
+
38
+ - (void)clearUrlTransforms {
39
+ [MLRNTransformRequest.sharedInstance clearUrlTransforms];
40
+ }
41
+
42
+ - (void)addUrlSearchParam:(NSString *)id
43
+ match:(NSString *_Nullable)match
44
+ name:(NSString *)name
45
+ value:(NSString *)value {
46
+ [MLRNTransformRequest.sharedInstance addUrlSearchParam:id match:match name:name value:value];
47
+ }
48
+
49
+ - (void)removeUrlSearchParam:(NSString *)id {
50
+ [MLRNTransformRequest.sharedInstance removeUrlSearchParam:id];
51
+ }
52
+
53
+ - (void)clearUrlSearchParams {
54
+ [MLRNTransformRequest.sharedInstance clearUrlSearchParams];
55
+ }
56
+
57
+ - (void)addHeader:(NSString *)id
58
+ match:(NSString *_Nullable)match
59
+ name:(NSString *)name
60
+ value:(NSString *)value {
61
+ [MLRNTransformRequest.sharedInstance addHeader:id match:match name:name value:value];
62
+ }
63
+
64
+ - (void)removeHeader:(NSString *)id {
65
+ [MLRNTransformRequest.sharedInstance removeHeader:id];
66
+ }
67
+
68
+ - (void)clearHeaders {
69
+ [MLRNTransformRequest.sharedInstance clearHeaders];
70
+ }
71
+
72
+ @end
@@ -111,6 +111,12 @@ Object.defineProperty(exports, "StaticMapImageManager", {
111
111
  return _StaticMapManager.StaticMapImageManager;
112
112
  }
113
113
  });
114
+ Object.defineProperty(exports, "TransformRequestManager", {
115
+ enumerable: true,
116
+ get: function () {
117
+ return _TransformRequestManager.TransformRequestManager;
118
+ }
119
+ });
114
120
  Object.defineProperty(exports, "UserLocation", {
115
121
  enumerable: true,
116
122
  get: function () {
@@ -156,5 +162,6 @@ var _NetworkManager = require("./modules/network/NetworkManager.js");
156
162
  var _OfflineManager = require("./modules/offline/OfflineManager.js");
157
163
  var _OfflinePack = require("./modules/offline/OfflinePack.js");
158
164
  var _StaticMapManager = require("./modules/static-map/StaticMapManager.js");
165
+ var _TransformRequestManager = require("./modules/transform-request/TransformRequestManager.js");
159
166
  var _Animated = require("./utils/animated/Animated.js");
160
167
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_Camera","require","_Map","_ViewAnnotation","_LayerAnnotation","_Callout","_UserLocation","_NativeUserLocation","_useCurrentPosition","_ImageSource","_GeoJSONSource","_RasterSource","_VectorSource","_Layer","_Images","_Marker","_LocationManager","_LogManager","_NetworkManager","_OfflineManager","_OfflinePack","_StaticMapManager","_Animated"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAiBA,IAAAC,IAAA,GAAAD,OAAA;AAQA,IAAAE,eAAA,GAAAF,OAAA;AAQA,IAAAG,gBAAA,GAAAH,OAAA;AAKA,IAAAI,QAAA,GAAAJ,OAAA;AAKA,IAAAK,aAAA,GAAAL,OAAA;AACA,IAAAM,mBAAA,GAAAN,OAAA;AACA,IAAAO,mBAAA,GAAAP,OAAA;AAEA,IAAAQ,YAAA,GAAAR,OAAA;AAKA,IAAAS,cAAA,GAAAT,OAAA;AAMA,IAAAU,aAAA,GAAAV,OAAA;AAKA,IAAAW,aAAA,GAAAX,OAAA;AAMA,IAAAY,MAAA,GAAAZ,OAAA;AA+CA,IAAAa,OAAA,GAAAb,OAAA;AAOA,IAAAc,OAAA,GAAAd,OAAA;AAOA,IAAAe,gBAAA,GAAAf,OAAA;AAKA,IAAAgB,WAAA,GAAAhB,OAAA;AAEA,IAAAiB,eAAA,GAAAjB,OAAA;AAEA,IAAAkB,eAAA,GAAAlB,OAAA;AAQA,IAAAmB,YAAA,GAAAnB,OAAA;AAKA,IAAAoB,iBAAA,GAAApB,OAAA;AA8BA,IAAAqB,SAAA,GAAArB,OAAA","ignoreList":[]}
1
+ {"version":3,"names":["_Camera","require","_Map","_ViewAnnotation","_LayerAnnotation","_Callout","_UserLocation","_NativeUserLocation","_useCurrentPosition","_ImageSource","_GeoJSONSource","_RasterSource","_VectorSource","_Layer","_Images","_Marker","_LocationManager","_LogManager","_NetworkManager","_OfflineManager","_OfflinePack","_StaticMapManager","_TransformRequestManager","_Animated"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAiBA,IAAAC,IAAA,GAAAD,OAAA;AAQA,IAAAE,eAAA,GAAAF,OAAA;AAQA,IAAAG,gBAAA,GAAAH,OAAA;AAKA,IAAAI,QAAA,GAAAJ,OAAA;AAKA,IAAAK,aAAA,GAAAL,OAAA;AACA,IAAAM,mBAAA,GAAAN,OAAA;AACA,IAAAO,mBAAA,GAAAP,OAAA;AAEA,IAAAQ,YAAA,GAAAR,OAAA;AAKA,IAAAS,cAAA,GAAAT,OAAA;AAMA,IAAAU,aAAA,GAAAV,OAAA;AAKA,IAAAW,aAAA,GAAAX,OAAA;AAMA,IAAAY,MAAA,GAAAZ,OAAA;AA+CA,IAAAa,OAAA,GAAAb,OAAA;AAOA,IAAAc,OAAA,GAAAd,OAAA;AAOA,IAAAe,gBAAA,GAAAf,OAAA;AAKA,IAAAgB,WAAA,GAAAhB,OAAA;AAEA,IAAAiB,eAAA,GAAAjB,OAAA;AAEA,IAAAkB,eAAA,GAAAlB,OAAA;AAQA,IAAAmB,YAAA,GAAAnB,OAAA;AAKA,IAAAoB,iBAAA,GAAApB,OAAA;AAQA,IAAAqB,wBAAA,GAAArB,OAAA;AA8BA,IAAAsB,SAAA,GAAAtB,OAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_default","exports","default","TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../../../src","sources":["modules/network/NativeNetworkModule.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAAmD,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAUpCC,gCAAmB,CAACC,YAAY,CAAO,mBAAmB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_default","exports","default","TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../../../src","sources":["modules/network/NativeNetworkModule.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAAmD,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAMpCC,gCAAmB,CAACC,YAAY,CAAO,mBAAmB,CAAC","ignoreList":[]}
@@ -7,47 +7,9 @@ exports.NetworkManager = void 0;
7
7
  var _NativeNetworkModule = _interopRequireDefault(require("./NativeNetworkModule.js"));
8
8
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
9
  /**
10
- * NetworkManager provides methods for managing HTTP requests made by MapLibre.
11
- * This includes adding custom headers to tile requests and controlling network connectivity.
10
+ * NetworkManager provides methods for managing and controlling network connectivity.
12
11
  */
13
12
  class NetworkManager {
14
- /**
15
- * Adds a custom HTTP header that will be sent with all map tile requests.
16
- * This is useful for adding authentication tokens or other custom headers
17
- * required by your tile server.
18
- *
19
- * @example
20
- * // Add header to all requests
21
- * NetworkManager.addRequestHeader("Authorization", "Bearer token123");
22
- *
23
- * // Add header only to requests matching a regex pattern (string)
24
- * NetworkManager.addRequestHeader("X-API-Key", "key123", "https:\\/\\/api\\.example\\.com\\/tiles\\/");
25
- *
26
- * // Add header only to requests matching a regex pattern (RegExp)
27
- * NetworkManager.addRequestHeader("X-API-Key", "key123", /https:\/\/api\.example\.com\/tiles\//);
28
- *
29
- * @param name The name of the header (e.g., "Authorization")
30
- * @param value The value of the header (e.g., "Bearer token123")
31
- * @param match Optional regex pattern to match against network URLs. If provided, the header will only be added to requests whose URLs match this pattern. Can be a RegExp object or a regex string.
32
- */
33
- static addRequestHeader(name, value, match) {
34
- _NativeNetworkModule.default.addRequestHeader(name, value, (match instanceof RegExp ? match.source : match) || null);
35
- }
36
-
37
- /**
38
- * Removes a previously added custom HTTP header.
39
- *
40
- * @example
41
- * ```ts
42
- * NetworkManager.removeRequestHeader("Authorization");
43
- * ```
44
- *
45
- * @param headerName The name of the header to remove
46
- */
47
- static removeRequestHeader(headerName) {
48
- _NativeNetworkModule.default.removeRequestHeader(headerName);
49
- }
50
-
51
13
  /**
52
14
  * Android only: Sets the connectivity state of the map. When set to false, the map will
53
15
  * not make any network requests and will only use cached tiles. This is
@@ -1 +1 @@
1
- {"version":3,"names":["_NativeNetworkModule","_interopRequireDefault","require","e","__esModule","default","NetworkManager","addRequestHeader","name","value","match","NativeNetworkModule","RegExp","source","removeRequestHeader","headerName","setConnected","connected","exports"],"sourceRoot":"../../../../src","sources":["modules/network/NetworkManager.ts"],"mappings":";;;;;;AAAA,IAAAA,oBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAwD,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAExD;AACA;AACA;AACA;AACA,MAAMG,cAAc,CAAC;EACnB;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,OAAOC,gBAAgBA,CACrBC,IAAY,EACZC,KAAa,EACbC,KAAuB,EACjB;IACNC,4BAAmB,CAACJ,gBAAgB,CAClCC,IAAI,EACJC,KAAK,EACL,CAACC,KAAK,YAAYE,MAAM,GAAGF,KAAK,CAACG,MAAM,GAAGH,KAAK,KAAK,IACtD,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,OAAOI,mBAAmBA,CAACC,UAAkB,EAAQ;IACnDJ,4BAAmB,CAACG,mBAAmB,CAACC,UAAU,CAAC;EACrD;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,OAAOC,YAAYA,CAACC,SAAkB,EAAQ;IAC5CN,4BAAmB,CAACK,YAAY,CAACC,SAAS,CAAC;EAC7C;AACF;AAACC,OAAA,CAAAZ,cAAA,GAAAA,cAAA","ignoreList":[]}
1
+ {"version":3,"names":["_NativeNetworkModule","_interopRequireDefault","require","e","__esModule","default","NetworkManager","setConnected","connected","NativeNetworkModule","exports"],"sourceRoot":"../../../../src","sources":["modules/network/NetworkManager.ts"],"mappings":";;;;;;AAAA,IAAAA,oBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAwD,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAExD;AACA;AACA;AACA,MAAMG,cAAc,CAAC;EACnB;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,OAAOC,YAAYA,CAACC,SAAkB,EAAQ;IAC5CC,4BAAmB,CAACF,YAAY,CAACC,SAAS,CAAC;EAC7C;AACF;AAACE,OAAA,CAAAJ,cAAA,GAAAA,cAAA","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _reactNative = require("react-native");
8
+ var _default = exports.default = _reactNative.TurboModuleRegistry.getEnforcing("MLRNTransformRequestModule");
9
+ //# sourceMappingURL=NativeTransformRequestModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","_default","exports","default","TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../../../src","sources":["modules/transform-request/NativeTransformRequestModule.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAAmD,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAqCpCC,gCAAmB,CAACC,YAAY,CAC7C,4BACF,CAAC","ignoreList":[]}