(data: string, format?: StringFormat, metadata?: Metadata)
| 483 | } |
| 484 | |
| 485 | putString(data: string, format?: StringFormat, metadata?: Metadata): Task { |
| 486 | let nsData; |
| 487 | switch (format) { |
| 488 | case StringFormat.BASE64: |
| 489 | nsData = NSData.alloc().initWithBase64EncodedStringOptions(data, NSDataBase64DecodingOptions.IgnoreUnknownCharacters); |
| 490 | break; |
| 491 | case StringFormat.BASE64URL: |
| 492 | { |
| 493 | let base64Encoded = data.replace(/-/g, '+').replace(/_/g, '/'); |
| 494 | |
| 495 | while (base64Encoded.length % 4 != 0) { |
| 496 | base64Encoded = base64Encoded + '='; |
| 497 | } |
| 498 | nsData = NSData.alloc().initWithBase64EncodedStringOptions(data, NSDataBase64DecodingOptions.IgnoreUnknownCharacters); |
| 499 | } |
| 500 | break; |
| 501 | case StringFormat.DATA_URL: { |
| 502 | const base64 = b64WithoutPrefix(data); |
| 503 | const mime = getMIMEforBase64String(data); |
| 504 | |
| 505 | const meta = metadata || new Metadata(); |
| 506 | if (!metadata.contentType) { |
| 507 | meta.contentType = mime; |
| 508 | } |
| 509 | return Task.fromNative(this.native.putDataMetadata(NSData.alloc().initWithBase64EncodedStringOptions(base64, NSDataBase64DecodingOptions.IgnoreUnknownCharacters), meta.native)); |
| 510 | } |
| 511 | default: { |
| 512 | const text = NSString.stringWithString(data); |
| 513 | const nativeData = text.dataUsingEncoding(NSUTF8StringEncoding); |
| 514 | const encodedString = nativeData.base64EncodedStringWithOptions(NSDataBase64EncodingOptions.Encoding64CharacterLineLength); |
| 515 | nsData = NSData.alloc().initWithBase64EncodedStringOptions(encodedString, NSDataBase64DecodingOptions.IgnoreUnknownCharacters); |
| 516 | break; |
| 517 | } |
| 518 | } |
| 519 | |
| 520 | if (metadata) { |
| 521 | return Task.fromNative(this.native.putDataMetadata(nsData, metadata.native)); |
| 522 | } |
| 523 | |
| 524 | return Task.fromNative(this.native.putData(nsData)); |
| 525 | } |
| 526 | |
| 527 | putFile(path: string, metadata?: Metadata): Task { |
| 528 | let task: Task = null; |
nothing calls this directly
no test coverage detected