electron-webauthn 0.0.5 → 0.0.7
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/README.md +6 -257
- package/dist/example.d.ts +2 -0
- package/dist/example.d.ts.map +1 -0
- package/dist/example.js +24 -0
- package/dist/example.js.map +1 -0
- package/dist/helper.js +23 -0
- package/dist/index.d.ts +12 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +46 -8
- package/dist/index.js.map +1 -1
- package/dist/objc/auth-services.js +28 -0
- package/dist/objc/authentication-services/as-authorization-controller-delegate.d.ts +53 -0
- package/dist/objc/authentication-services/as-authorization-controller-delegate.d.ts.map +1 -0
- package/dist/objc/authentication-services/as-authorization-controller-delegate.js +41 -0
- package/dist/objc/authentication-services/as-authorization-controller-delegate.js.map +1 -0
- package/dist/objc/authentication-services/as-authorization-controller-presentation-context-providing.d.ts +42 -0
- package/dist/objc/authentication-services/as-authorization-controller-presentation-context-providing.d.ts.map +1 -0
- package/dist/objc/authentication-services/as-authorization-controller-presentation-context-providing.js +32 -0
- package/dist/objc/authentication-services/as-authorization-controller-presentation-context-providing.js.map +1 -0
- package/dist/objc/authentication-services/as-authorization-controller.d.ts +28 -0
- package/dist/objc/authentication-services/as-authorization-controller.d.ts.map +1 -0
- package/dist/objc/authentication-services/as-authorization-controller.js +13 -0
- package/dist/objc/authentication-services/as-authorization-controller.js.map +1 -0
- package/dist/objc/authentication-services/as-authorization-platform-public-key-credential-provider.d.ts +22 -0
- package/dist/objc/authentication-services/as-authorization-platform-public-key-credential-provider.d.ts.map +1 -0
- package/dist/objc/authentication-services/as-authorization-platform-public-key-credential-provider.js +13 -0
- package/dist/objc/authentication-services/as-authorization-platform-public-key-credential-provider.js.map +1 -0
- package/dist/objc/authentication-services/index.d.ts +3 -0
- package/dist/objc/authentication-services/index.d.ts.map +1 -0
- package/dist/objc/authentication-services/index.js +4 -0
- package/dist/objc/authentication-services/index.js.map +1 -0
- package/dist/objc/foundation/helpers.js +142 -0
- package/dist/objc/foundation/index.d.ts +3 -0
- package/dist/objc/foundation/index.d.ts.map +1 -0
- package/dist/objc/foundation/index.js +4 -0
- package/dist/objc/foundation/index.js.map +1 -0
- package/dist/objc/foundation/main.js +4 -0
- package/dist/objc/foundation/nsarray.d.ts +18 -0
- package/dist/objc/foundation/nsarray.d.ts.map +1 -0
- package/dist/objc/foundation/nsarray.js +16 -0
- package/dist/objc/foundation/nsarray.js.map +1 -0
- package/dist/objc/foundation/nsdata.d.ts +109 -0
- package/dist/objc/foundation/nsdata.d.ts.map +1 -0
- package/dist/objc/foundation/nsdata.js +120 -0
- package/dist/objc/foundation/nsdata.js.map +1 -0
- package/dist/objc/foundation/nserror.d.ts +32 -0
- package/dist/objc/foundation/nserror.d.ts.map +1 -0
- package/dist/objc/foundation/nserror.js +71 -0
- package/dist/objc/foundation/nserror.js.map +1 -0
- package/dist/objc/foundation/nsstring.d.ts +15 -0
- package/dist/objc/foundation/nsstring.d.ts.map +1 -0
- package/dist/objc/foundation/nsstring.js +12 -0
- package/dist/objc/foundation/nsstring.js.map +1 -0
- package/dist/objc/foundation/nsvalue.js +2 -0
- package/dist/objc/foundation/nsview.d.ts +7 -0
- package/dist/objc/foundation/nsview.d.ts.map +1 -0
- package/dist/objc/foundation/nsview.js +3 -0
- package/dist/objc/foundation/nsview.js.map +1 -0
- package/dist/objc/foundation/nswindow.d.ts +5 -0
- package/dist/objc/foundation/nswindow.d.ts.map +1 -0
- package/dist/objc/foundation/nswindow.js +3 -0
- package/dist/objc/foundation/nswindow.js.map +1 -0
- package/dist/objc/foundation.js +28 -0
- package/dist/objc/helpers.d.ts +21 -0
- package/dist/objc/helpers.d.ts.map +1 -0
- package/dist/objc/helpers.js +32 -0
- package/dist/objc/helpers.js.map +1 -0
- package/dist/test/example.d.ts +2 -0
- package/dist/test/example.d.ts.map +1 -0
- package/dist/test/example.js +24 -0
- package/dist/test/example.js.map +1 -0
- package/dist/test/index.d.ts +2 -0
- package/dist/test/index.d.ts.map +1 -0
- package/dist/test/index.js +9 -0
- package/dist/test/index.js.map +1 -0
- package/dist/test/window.d.ts +5 -0
- package/dist/test/window.d.ts.map +1 -0
- package/dist/test/window.js +58 -0
- package/dist/test/window.js.map +1 -0
- package/dist/window.d.ts +5 -0
- package/dist/window.d.ts.map +1 -0
- package/dist/window.js +58 -0
- package/dist/window.js.map +1 -0
- package/package.json +23 -41
- package/LICENSE +0 -21
- package/index.d.ts +0 -68
- package/index.js +0 -316
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { NobjcObject } from "objc-js";
|
|
2
|
+
declare class _ASAuthorizationController extends NobjcObject {
|
|
3
|
+
/**
|
|
4
|
+
* ASAuthorizationController.init(authorizationRequests: NSArray<ASAuthorizationRequest>)
|
|
5
|
+
* @private Do not use this method directly.
|
|
6
|
+
*/
|
|
7
|
+
initWithAuthorizationRequests$(authorizationRequests: NobjcObject): _ASAuthorizationController;
|
|
8
|
+
/**
|
|
9
|
+
* ASAuthorizationController.performRequests()
|
|
10
|
+
*/
|
|
11
|
+
performRequests(): void;
|
|
12
|
+
performRequestsWithOptions$(options: NobjcObject): void;
|
|
13
|
+
performAutoFillAssistedRequests(): void;
|
|
14
|
+
cancel(): void;
|
|
15
|
+
setDelegate$(delegate: NobjcObject): void;
|
|
16
|
+
delegate(): NobjcObject;
|
|
17
|
+
setPresentationContextProvider$(provider: NobjcObject): void;
|
|
18
|
+
presentationContextProvider(): NobjcObject;
|
|
19
|
+
}
|
|
20
|
+
export declare const ASAuthorizationController: typeof _ASAuthorizationController;
|
|
21
|
+
/**
|
|
22
|
+
* Create an ASAuthorizationController instance
|
|
23
|
+
* @param authorizationRequests An NSArray of authorization requests
|
|
24
|
+
* @returns An initialized controller instance
|
|
25
|
+
*/
|
|
26
|
+
export declare function createAuthorizationController(authorizationRequests: NobjcObject): _ASAuthorizationController;
|
|
27
|
+
export {};
|
|
28
|
+
//# sourceMappingURL=as-authorization-controller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"as-authorization-controller.d.ts","sourceRoot":"","sources":["../../../src/objc/authentication-services/as-authorization-controller.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAG3C,OAAO,OAAO,0BAA2B,SAAQ,WAAW;IAC1D;;;OAGG;IACH,8BAA8B,CAC5B,qBAAqB,EAAE,WAAW,GACjC,0BAA0B;IAE7B;;OAEG;IACH,eAAe,IAAI,IAAI;IAGvB,2BAA2B,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAGvD,+BAA+B,IAAI,IAAI;IAGvC,MAAM,IAAI,IAAI;IAGd,YAAY,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI;IACzC,QAAQ,IAAI,WAAW;IAGvB,+BAA+B,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI;IAC5D,2BAA2B,IAAI,WAAW;CAC3C;AAED,eAAO,MAAM,yBAAyB,EAC2B,OAAO,0BAA0B,CAAC;AAInG;;;;GAIG;AACH,wBAAgB,6BAA6B,CAC3C,qBAAqB,EAAE,WAAW,GACjC,0BAA0B,CAG5B"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { AuthenticationServices } from "./index.js";
|
|
2
|
+
export const ASAuthorizationController = AuthenticationServices.ASAuthorizationController;
|
|
3
|
+
// Helper Functions
|
|
4
|
+
/**
|
|
5
|
+
* Create an ASAuthorizationController instance
|
|
6
|
+
* @param authorizationRequests An NSArray of authorization requests
|
|
7
|
+
* @returns An initialized controller instance
|
|
8
|
+
*/
|
|
9
|
+
export function createAuthorizationController(authorizationRequests) {
|
|
10
|
+
const instance = ASAuthorizationController.alloc();
|
|
11
|
+
return instance.initWithAuthorizationRequests$(authorizationRequests);
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=as-authorization-controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"as-authorization-controller.js","sourceRoot":"","sources":["../../../src/objc/authentication-services/as-authorization-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAoCpD,MAAM,CAAC,MAAM,yBAAyB,GACpC,sBAAsB,CAAC,yBAAyE,CAAC;AAEnG,mBAAmB;AAEnB;;;;GAIG;AACH,MAAM,UAAU,6BAA6B,CAC3C,qBAAkC;IAElC,MAAM,QAAQ,GAAI,yBAAiC,CAAC,KAAK,EAAE,CAAC;IAC5D,OAAO,QAAQ,CAAC,8BAA8B,CAAC,qBAAqB,CAAC,CAAC;AACxE,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { NobjcObject } from "objc-js";
|
|
2
|
+
declare class _ASAuthorizationPlatformPublicKeyCredentialProvider extends NobjcObject {
|
|
3
|
+
/**
|
|
4
|
+
* ASAuthorizationPlatformPublicKeyCredentialProvider.init(relyingPartyIdentifier: String)
|
|
5
|
+
* @private Do not use this method directly.
|
|
6
|
+
*/
|
|
7
|
+
initWithRelyingPartyIdentifier$(relyingPartyIdentifier: NobjcObject): _ASAuthorizationPlatformPublicKeyCredentialProvider;
|
|
8
|
+
createCredentialRegistrationRequestWithChallenge$name$userID$(challenge: NobjcObject, name: NobjcObject, userID: NobjcObject): NobjcObject;
|
|
9
|
+
/**
|
|
10
|
+
* ASAuthorizationPlatformPublicKeyCredentialProvider.createCredentialAssertionRequest(challenge: NSData)
|
|
11
|
+
*/
|
|
12
|
+
createCredentialAssertionRequestWithChallenge$(challenge: NobjcObject): NobjcObject;
|
|
13
|
+
}
|
|
14
|
+
export declare const ASAuthorizationPlatformPublicKeyCredentialProvider: typeof _ASAuthorizationPlatformPublicKeyCredentialProvider;
|
|
15
|
+
/**
|
|
16
|
+
* Create an ASAuthorizationPlatformPublicKeyCredentialProvider instance
|
|
17
|
+
* @param relyingPartyIdentifier The relying party identifier (domain)
|
|
18
|
+
* @returns An initialized provider instance
|
|
19
|
+
*/
|
|
20
|
+
export declare function createPlatformPublicKeyCredentialProvider(relyingPartyIdentifier: NobjcObject): _ASAuthorizationPlatformPublicKeyCredentialProvider;
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=as-authorization-platform-public-key-credential-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"as-authorization-platform-public-key-credential-provider.d.ts","sourceRoot":"","sources":["../../../src/objc/authentication-services/as-authorization-platform-public-key-credential-provider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAG3C,OAAO,OAAO,mDAAoD,SAAQ,WAAW;IACnF;;;OAGG;IACH,+BAA+B,CAC7B,sBAAsB,EAAE,WAAW,GAClC,mDAAmD;IAGtD,6DAA6D,CAC3D,SAAS,EAAE,WAAW,EACtB,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,WAAW,GAClB,WAAW;IAEd;;OAEG;IACH,8CAA8C,CAC5C,SAAS,EAAE,WAAW,GACrB,WAAW;CACf;AAED,eAAO,MAAM,kDAAkD,EAC2B,OAAO,mDAAmD,CAAC;AAIrJ;;;;GAIG;AACH,wBAAgB,yCAAyC,CACvD,sBAAsB,EAAE,WAAW,GAClC,mDAAmD,CAKrD"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { AuthenticationServices } from "./index.js";
|
|
2
|
+
export const ASAuthorizationPlatformPublicKeyCredentialProvider = AuthenticationServices.ASAuthorizationPlatformPublicKeyCredentialProvider;
|
|
3
|
+
// Helper Functions
|
|
4
|
+
/**
|
|
5
|
+
* Create an ASAuthorizationPlatformPublicKeyCredentialProvider instance
|
|
6
|
+
* @param relyingPartyIdentifier The relying party identifier (domain)
|
|
7
|
+
* @returns An initialized provider instance
|
|
8
|
+
*/
|
|
9
|
+
export function createPlatformPublicKeyCredentialProvider(relyingPartyIdentifier) {
|
|
10
|
+
const instance = ASAuthorizationPlatformPublicKeyCredentialProvider.alloc();
|
|
11
|
+
return instance.initWithRelyingPartyIdentifier$(relyingPartyIdentifier);
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=as-authorization-platform-public-key-credential-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"as-authorization-platform-public-key-credential-provider.js","sourceRoot":"","sources":["../../../src/objc/authentication-services/as-authorization-platform-public-key-credential-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AA4BpD,MAAM,CAAC,MAAM,kDAAkD,GAC7D,sBAAsB,CAAC,kDAA2H,CAAC;AAErJ,mBAAmB;AAEnB;;;;GAIG;AACH,MAAM,UAAU,yCAAyC,CACvD,sBAAmC;IAEnC,MAAM,QAAQ,GACZ,kDACD,CAAC,KAAK,EAAE,CAAC;IACV,OAAO,QAAQ,CAAC,+BAA+B,CAAC,sBAAsB,CAAC,CAAC;AAC1E,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/objc/authentication-services/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAGvC,eAAO,MAAM,sBAAsB,cAElC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/objc/authentication-services/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,qBAAqB;AACrB,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,YAAY,CACpD,oFAAoF,CACrF,CAAC"}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import { NSArray, NSData, NSString } from "./main";
|
|
2
|
+
/**
|
|
3
|
+
* Foundation Framework Helpers
|
|
4
|
+
*
|
|
5
|
+
* This module provides convenient helper functions for working with
|
|
6
|
+
* Foundation framework objects in JavaScript/TypeScript.
|
|
7
|
+
*
|
|
8
|
+
* Key features:
|
|
9
|
+
* - NSString: String conversion helpers
|
|
10
|
+
* - NSData: Data conversion between Objective-C and JavaScript
|
|
11
|
+
* - NSArray: Array creation and manipulation
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* NSData to Buffer Conversion Methods
|
|
15
|
+
*
|
|
16
|
+
* Two methods are provided for converting NSData to JavaScript Buffers:
|
|
17
|
+
*
|
|
18
|
+
* 1. bufferFromNSData (base64): Uses base64 as an intermediate format.
|
|
19
|
+
* - Most reliable and compatible
|
|
20
|
+
* - Recommended for general use
|
|
21
|
+
* - Slight overhead due to base64 encoding/decoding
|
|
22
|
+
*
|
|
23
|
+
* 2. bufferFromNSDataDirect (direct): Uses getBytes:length: for direct memory copy.
|
|
24
|
+
* - More efficient for large data
|
|
25
|
+
* - Direct memory access
|
|
26
|
+
* - May have compatibility issues with some nobjc versions
|
|
27
|
+
*/
|
|
28
|
+
/**
|
|
29
|
+
* Convert NSData to a JavaScript Buffer using base64 encoding
|
|
30
|
+
* This is the most reliable method for data conversion.
|
|
31
|
+
* @param data The NSData object
|
|
32
|
+
* @returns A Buffer containing the data
|
|
33
|
+
*/
|
|
34
|
+
export function bufferFromNSData(data) {
|
|
35
|
+
const nsData = data;
|
|
36
|
+
const length = nsData.length();
|
|
37
|
+
if (length === 0) {
|
|
38
|
+
return Buffer.alloc(0);
|
|
39
|
+
}
|
|
40
|
+
// Use base64 encoding as a reliable bridge between NSData and JS Buffer
|
|
41
|
+
const base64String = nsData.base64EncodedStringWithOptions$(0);
|
|
42
|
+
const base64Str = base64String.UTF8String();
|
|
43
|
+
return Buffer.from(base64Str, "base64");
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Convert NSData to a JavaScript Buffer using direct memory copy
|
|
47
|
+
* This method uses getBytes:length: for direct memory access.
|
|
48
|
+
* May be more efficient for large data, but requires proper buffer allocation.
|
|
49
|
+
* @param data The NSData object
|
|
50
|
+
* @returns A Buffer containing the data
|
|
51
|
+
*/
|
|
52
|
+
export function bufferFromNSDataDirect(data) {
|
|
53
|
+
const nsData = data;
|
|
54
|
+
const length = nsData.length();
|
|
55
|
+
if (length === 0) {
|
|
56
|
+
return Buffer.alloc(0);
|
|
57
|
+
}
|
|
58
|
+
// Allocate a buffer and copy bytes directly
|
|
59
|
+
const buffer = Buffer.alloc(length);
|
|
60
|
+
nsData.getBytes$length$(buffer, length);
|
|
61
|
+
return buffer;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Convert NSData to a JavaScript Uint8Array
|
|
65
|
+
* @param data The NSData object
|
|
66
|
+
* @returns A Uint8Array containing the data
|
|
67
|
+
*/
|
|
68
|
+
export function uint8ArrayFromNSData(data) {
|
|
69
|
+
const buffer = bufferFromNSData(data);
|
|
70
|
+
return new Uint8Array(buffer);
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Convert NSData to a base64 string
|
|
74
|
+
* @param data The NSData object
|
|
75
|
+
* @returns A base64-encoded string
|
|
76
|
+
*/
|
|
77
|
+
export function base64FromNSData(data) {
|
|
78
|
+
const nsData = data;
|
|
79
|
+
const nsString = nsData.base64EncodedStringWithOptions$(0);
|
|
80
|
+
return nsString.UTF8String();
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Create NSData from a base64 string
|
|
84
|
+
* @param base64String The base64-encoded string
|
|
85
|
+
* @returns An NSData object
|
|
86
|
+
*/
|
|
87
|
+
export function NSDataFromBase64(base64String) {
|
|
88
|
+
const nsString = NSString.stringWithUTF8String$(base64String);
|
|
89
|
+
const nsData = NSData.alloc();
|
|
90
|
+
return nsData.initWithBase64EncodedString$options$(nsString, 0);
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Get the length of NSData
|
|
94
|
+
* @param data The NSData object
|
|
95
|
+
* @returns The length in bytes
|
|
96
|
+
*/
|
|
97
|
+
export function NSDataLength(data) {
|
|
98
|
+
const nsData = data;
|
|
99
|
+
return nsData.length();
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Create a copy of NSData
|
|
103
|
+
* @param data The NSData object
|
|
104
|
+
* @returns A new NSData object with copied data
|
|
105
|
+
*/
|
|
106
|
+
export function NSDataCopy(data) {
|
|
107
|
+
return NSData.dataWithData$(data);
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Compare two NSData objects for equality
|
|
111
|
+
* @param data1 The first NSData object
|
|
112
|
+
* @param data2 The second NSData object
|
|
113
|
+
* @returns True if the data is equal
|
|
114
|
+
*/
|
|
115
|
+
export function NSDataIsEqual(data1, data2) {
|
|
116
|
+
const nsData1 = data1;
|
|
117
|
+
return nsData1.isEqualToData$(data2);
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Extract a subrange of NSData
|
|
121
|
+
* Note: This method may not work with all versions of nobjc due to NSRange struct limitations.
|
|
122
|
+
* As an alternative, convert to Buffer, slice, and convert back.
|
|
123
|
+
* @param data The NSData object
|
|
124
|
+
* @param location The starting position
|
|
125
|
+
* @param length The number of bytes to extract
|
|
126
|
+
* @returns A new NSData object containing the subdata
|
|
127
|
+
*/
|
|
128
|
+
export function NSDataSubdata(data, location, length) {
|
|
129
|
+
// Workaround: Convert to buffer, slice, and convert back
|
|
130
|
+
// This avoids the NSRange struct issue with nobjc
|
|
131
|
+
const buffer = bufferFromNSData(data);
|
|
132
|
+
const slicedBuffer = buffer.subarray(location, location + length);
|
|
133
|
+
return NSDataFromBuffer(slicedBuffer);
|
|
134
|
+
}
|
|
135
|
+
// NSArray helpers
|
|
136
|
+
export function NSArrayFromObjects(objects) {
|
|
137
|
+
let array = NSArray.array();
|
|
138
|
+
for (const obj of objects) {
|
|
139
|
+
array = array.arrayByAddingObject$(obj);
|
|
140
|
+
}
|
|
141
|
+
return array;
|
|
142
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/objc/foundation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAGvC,eAAO,MAAM,UAAU,cAEtB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/objc/foundation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,qBAAqB;AACrB,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,YAAY,CACxC,4DAA4D,CAC7D,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { NobjcObject } from "objc-js";
|
|
2
|
+
declare class _NSArray extends NobjcObject {
|
|
3
|
+
static arrayWithObject$(object: NobjcObject): _NSArray;
|
|
4
|
+
static arrayWithArray$(array: _NSArray): _NSArray;
|
|
5
|
+
static array(): _NSArray;
|
|
6
|
+
count(): number;
|
|
7
|
+
objectAtIndex$(index: number): NobjcObject;
|
|
8
|
+
arrayByAddingObject$(object: NobjcObject): _NSArray;
|
|
9
|
+
}
|
|
10
|
+
export declare const NSArray: typeof _NSArray;
|
|
11
|
+
/**
|
|
12
|
+
* Create an NSArray from an array of objects
|
|
13
|
+
* @param objects The array of objects
|
|
14
|
+
* @returns An NSArray object
|
|
15
|
+
*/
|
|
16
|
+
export declare function NSArrayFromObjects(objects: NobjcObject[]): _NSArray;
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=nsarray.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nsarray.d.ts","sourceRoot":"","sources":["../../../src/objc/foundation/nsarray.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAG3C,OAAO,OAAO,QAAS,SAAQ,WAAW;IACxC,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,QAAQ;IACtD,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ;IACjD,MAAM,CAAC,KAAK,IAAI,QAAQ;IACxB,KAAK,IAAI,MAAM;IACf,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW;IAC1C,oBAAoB,CAAC,MAAM,EAAE,WAAW,GAAG,QAAQ;CACpD;AACD,eAAO,MAAM,OAAO,EAAoC,OAAO,QAAQ,CAAC;AAIxE;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,QAAQ,CAMnE"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Foundation } from "./index.js";
|
|
2
|
+
export const NSArray = Foundation.NSArray;
|
|
3
|
+
// Helper Functions
|
|
4
|
+
/**
|
|
5
|
+
* Create an NSArray from an array of objects
|
|
6
|
+
* @param objects The array of objects
|
|
7
|
+
* @returns An NSArray object
|
|
8
|
+
*/
|
|
9
|
+
export function NSArrayFromObjects(objects) {
|
|
10
|
+
let array = NSArray.array();
|
|
11
|
+
for (const obj of objects) {
|
|
12
|
+
array = array.arrayByAddingObject$(obj);
|
|
13
|
+
}
|
|
14
|
+
return array;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=nsarray.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nsarray.js","sourceRoot":"","sources":["../../../src/objc/foundation/nsarray.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAYxC,MAAM,CAAC,MAAM,OAAO,GAAG,UAAU,CAAC,OAAqC,CAAC;AAExE,mBAAmB;AAEnB;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAsB;IACvD,IAAI,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAC5B,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,KAAK,GAAG,KAAK,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { type _NSString } from "./nsstring.js";
|
|
2
|
+
import type { NobjcObject } from "objc-js";
|
|
3
|
+
/**
|
|
4
|
+
* NSData to Buffer Conversion Methods
|
|
5
|
+
* Recommended method: bufferFromNSDataDirect
|
|
6
|
+
*
|
|
7
|
+
* Two methods are provided for converting NSData to JavaScript Buffers:
|
|
8
|
+
*
|
|
9
|
+
* 1. bufferFromNSData (base64): Uses base64 as an intermediate format.
|
|
10
|
+
* - Most reliable and compatible
|
|
11
|
+
* - Recommended for general use
|
|
12
|
+
* - Slight overhead due to base64 encoding/decoding
|
|
13
|
+
*
|
|
14
|
+
* 2. bufferFromNSDataDirect (direct): Uses getBytes:length: for direct memory copy.
|
|
15
|
+
* - More efficient for large data
|
|
16
|
+
* - Direct memory access
|
|
17
|
+
*/
|
|
18
|
+
export declare class _NSData extends NobjcObject {
|
|
19
|
+
static dataWithBytes$length$(bytes: Buffer, length: number): _NSData;
|
|
20
|
+
static dataWithData$(data: _NSData): _NSData;
|
|
21
|
+
static data(): _NSData;
|
|
22
|
+
length(): number;
|
|
23
|
+
bytes(): any;
|
|
24
|
+
isEqualToData$(other: _NSData): boolean;
|
|
25
|
+
subdataWithRange$(range: {
|
|
26
|
+
location: number;
|
|
27
|
+
length: number;
|
|
28
|
+
}): _NSData;
|
|
29
|
+
base64EncodedStringWithOptions$(options: number): _NSString;
|
|
30
|
+
initWithBase64EncodedString$options$(base64String: _NSString, options: number): _NSData;
|
|
31
|
+
writeToFile$atomically$(path: _NSString, atomically: boolean): boolean;
|
|
32
|
+
static dataWithContentsOfFile$(path: _NSString): _NSData;
|
|
33
|
+
description(): _NSString;
|
|
34
|
+
getBytes$length$(buffer: Buffer, length: number): void;
|
|
35
|
+
getBytes$range$(buffer: Buffer, range: {
|
|
36
|
+
location: number;
|
|
37
|
+
length: number;
|
|
38
|
+
}): void;
|
|
39
|
+
}
|
|
40
|
+
export declare const NSData: typeof _NSData;
|
|
41
|
+
/**
|
|
42
|
+
* Create NSData from a JavaScript Buffer
|
|
43
|
+
* @param buffer The Buffer object
|
|
44
|
+
* @returns An NSData object
|
|
45
|
+
*/
|
|
46
|
+
export declare function NSDataFromBuffer(buffer: Buffer): NobjcObject;
|
|
47
|
+
/**
|
|
48
|
+
* Convert NSData to a JavaScript Buffer using base64 encoding
|
|
49
|
+
* This is the most reliable method for data conversion.
|
|
50
|
+
* @param data The NSData object
|
|
51
|
+
* @returns A Buffer containing the data
|
|
52
|
+
*/
|
|
53
|
+
export declare function bufferFromNSData(data: NobjcObject): Buffer;
|
|
54
|
+
/**
|
|
55
|
+
* Convert NSData to a JavaScript Buffer using direct memory copy
|
|
56
|
+
* This method uses getBytes:length: for direct memory access.
|
|
57
|
+
* May be more efficient for large data, but requires proper buffer allocation.
|
|
58
|
+
* @param data The NSData object
|
|
59
|
+
* @returns A Buffer containing the data
|
|
60
|
+
*/
|
|
61
|
+
export declare function bufferFromNSDataDirect(data: NobjcObject): Buffer;
|
|
62
|
+
/**
|
|
63
|
+
* Convert NSData to a JavaScript Uint8Array
|
|
64
|
+
* @param data The NSData object
|
|
65
|
+
* @returns A Uint8Array containing the data
|
|
66
|
+
*/
|
|
67
|
+
export declare function uint8ArrayFromNSData(data: NobjcObject): Uint8Array;
|
|
68
|
+
/**
|
|
69
|
+
* Convert NSData to a base64 string
|
|
70
|
+
* @param data The NSData object
|
|
71
|
+
* @returns A base64-encoded string
|
|
72
|
+
*/
|
|
73
|
+
export declare function base64FromNSData(data: NobjcObject): string;
|
|
74
|
+
/**
|
|
75
|
+
* Create NSData from a base64 string
|
|
76
|
+
* @param base64String The base64-encoded string
|
|
77
|
+
* @returns An NSData object
|
|
78
|
+
*/
|
|
79
|
+
export declare function NSDataFromBase64(base64String: string): NobjcObject;
|
|
80
|
+
/**
|
|
81
|
+
* Get the length of NSData
|
|
82
|
+
* @param data The NSData object
|
|
83
|
+
* @returns The length in bytes
|
|
84
|
+
*/
|
|
85
|
+
export declare function NSDataLength(data: NobjcObject): number;
|
|
86
|
+
/**
|
|
87
|
+
* Create a copy of NSData
|
|
88
|
+
* @param data The NSData object
|
|
89
|
+
* @returns A new NSData object with copied data
|
|
90
|
+
*/
|
|
91
|
+
export declare function NSDataCopy(data: NobjcObject): NobjcObject;
|
|
92
|
+
/**
|
|
93
|
+
* Compare two NSData objects for equality
|
|
94
|
+
* @param data1 The first NSData object
|
|
95
|
+
* @param data2 The second NSData object
|
|
96
|
+
* @returns True if the data is equal
|
|
97
|
+
*/
|
|
98
|
+
export declare function NSDataIsEqual(data1: NobjcObject, data2: NobjcObject): boolean;
|
|
99
|
+
/**
|
|
100
|
+
* Extract a subrange of NSData
|
|
101
|
+
* Note: This method may not work with all versions of nobjc due to NSRange struct limitations.
|
|
102
|
+
* As an alternative, convert to Buffer, slice, and convert back.
|
|
103
|
+
* @param data The NSData object
|
|
104
|
+
* @param location The starting position
|
|
105
|
+
* @param length The number of bytes to extract
|
|
106
|
+
* @returns A new NSData object containing the subdata
|
|
107
|
+
*/
|
|
108
|
+
export declare function NSDataSubdata(data: NobjcObject, location: number, length: number): NobjcObject;
|
|
109
|
+
//# sourceMappingURL=nsdata.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nsdata.d.ts","sourceRoot":"","sources":["../../../src/objc/foundation/nsdata.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C;;;;;;;;;;;;;;GAcG;AAGH,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,WAAW;IAE9C,MAAM,CAAC,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IACpE,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO;IAC5C,MAAM,CAAC,IAAI,IAAI,OAAO;IAGtB,MAAM,IAAI,MAAM;IAChB,KAAK,IAAI,GAAG;IAGZ,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAGvC,iBAAiB,CAAC,KAAK,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO;IAGvE,+BAA+B,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS;IAG3D,oCAAoC,CAClC,YAAY,EAAE,SAAS,EACvB,OAAO,EAAE,MAAM,GACd,OAAO;IAGV,uBAAuB,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,GAAG,OAAO;IAGtE,MAAM,CAAC,uBAAuB,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO;IAGxD,WAAW,IAAI,SAAS;IAGxB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IACtD,eAAe,CACb,MAAM,EAAE,MAAM,EACd,KAAK,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAC1C,IAAI;CACR;AACD,eAAO,MAAM,MAAM,EAAmC,OAAO,OAAO,CAAC;AAIrE;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,CAE5D;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAY1D;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAYhE;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,WAAW,GAAG,UAAU,CAGlE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAI1D;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,WAAW,CAIlE;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAGtD;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,WAAW,GAAG,WAAW,CAEzD;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAG7E;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,WAAW,CAMb"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { Foundation } from "./index.js";
|
|
2
|
+
import { NSString } from "./nsstring.js";
|
|
3
|
+
export const NSData = Foundation.NSData;
|
|
4
|
+
// Helper Functions
|
|
5
|
+
/**
|
|
6
|
+
* Create NSData from a JavaScript Buffer
|
|
7
|
+
* @param buffer The Buffer object
|
|
8
|
+
* @returns An NSData object
|
|
9
|
+
*/
|
|
10
|
+
export function NSDataFromBuffer(buffer) {
|
|
11
|
+
return NSData.dataWithBytes$length$(buffer, buffer.length);
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Convert NSData to a JavaScript Buffer using base64 encoding
|
|
15
|
+
* This is the most reliable method for data conversion.
|
|
16
|
+
* @param data The NSData object
|
|
17
|
+
* @returns A Buffer containing the data
|
|
18
|
+
*/
|
|
19
|
+
export function bufferFromNSData(data) {
|
|
20
|
+
const nsData = data;
|
|
21
|
+
const length = nsData.length();
|
|
22
|
+
if (length === 0) {
|
|
23
|
+
return Buffer.alloc(0);
|
|
24
|
+
}
|
|
25
|
+
// Use base64 encoding as a reliable bridge between NSData and JS Buffer
|
|
26
|
+
const base64String = nsData.base64EncodedStringWithOptions$(0);
|
|
27
|
+
const base64Str = base64String.UTF8String();
|
|
28
|
+
return Buffer.from(base64Str, "base64");
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Convert NSData to a JavaScript Buffer using direct memory copy
|
|
32
|
+
* This method uses getBytes:length: for direct memory access.
|
|
33
|
+
* May be more efficient for large data, but requires proper buffer allocation.
|
|
34
|
+
* @param data The NSData object
|
|
35
|
+
* @returns A Buffer containing the data
|
|
36
|
+
*/
|
|
37
|
+
export function bufferFromNSDataDirect(data) {
|
|
38
|
+
const nsData = data;
|
|
39
|
+
const length = nsData.length();
|
|
40
|
+
if (length === 0) {
|
|
41
|
+
return Buffer.alloc(0);
|
|
42
|
+
}
|
|
43
|
+
// Allocate a buffer and copy bytes directly
|
|
44
|
+
const buffer = Buffer.alloc(length);
|
|
45
|
+
nsData.getBytes$length$(buffer, length);
|
|
46
|
+
return buffer;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Convert NSData to a JavaScript Uint8Array
|
|
50
|
+
* @param data The NSData object
|
|
51
|
+
* @returns A Uint8Array containing the data
|
|
52
|
+
*/
|
|
53
|
+
export function uint8ArrayFromNSData(data) {
|
|
54
|
+
const buffer = bufferFromNSData(data);
|
|
55
|
+
return new Uint8Array(buffer);
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Convert NSData to a base64 string
|
|
59
|
+
* @param data The NSData object
|
|
60
|
+
* @returns A base64-encoded string
|
|
61
|
+
*/
|
|
62
|
+
export function base64FromNSData(data) {
|
|
63
|
+
const nsData = data;
|
|
64
|
+
const nsString = nsData.base64EncodedStringWithOptions$(0);
|
|
65
|
+
return nsString.UTF8String();
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Create NSData from a base64 string
|
|
69
|
+
* @param base64String The base64-encoded string
|
|
70
|
+
* @returns An NSData object
|
|
71
|
+
*/
|
|
72
|
+
export function NSDataFromBase64(base64String) {
|
|
73
|
+
const nsString = NSString.stringWithUTF8String$(base64String);
|
|
74
|
+
const nsData = NSData.alloc();
|
|
75
|
+
return nsData.initWithBase64EncodedString$options$(nsString, 0);
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Get the length of NSData
|
|
79
|
+
* @param data The NSData object
|
|
80
|
+
* @returns The length in bytes
|
|
81
|
+
*/
|
|
82
|
+
export function NSDataLength(data) {
|
|
83
|
+
const nsData = data;
|
|
84
|
+
return nsData.length();
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Create a copy of NSData
|
|
88
|
+
* @param data The NSData object
|
|
89
|
+
* @returns A new NSData object with copied data
|
|
90
|
+
*/
|
|
91
|
+
export function NSDataCopy(data) {
|
|
92
|
+
return NSData.dataWithData$(data);
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Compare two NSData objects for equality
|
|
96
|
+
* @param data1 The first NSData object
|
|
97
|
+
* @param data2 The second NSData object
|
|
98
|
+
* @returns True if the data is equal
|
|
99
|
+
*/
|
|
100
|
+
export function NSDataIsEqual(data1, data2) {
|
|
101
|
+
const nsData1 = data1;
|
|
102
|
+
return nsData1.isEqualToData$(data2);
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Extract a subrange of NSData
|
|
106
|
+
* Note: This method may not work with all versions of nobjc due to NSRange struct limitations.
|
|
107
|
+
* As an alternative, convert to Buffer, slice, and convert back.
|
|
108
|
+
* @param data The NSData object
|
|
109
|
+
* @param location The starting position
|
|
110
|
+
* @param length The number of bytes to extract
|
|
111
|
+
* @returns A new NSData object containing the subdata
|
|
112
|
+
*/
|
|
113
|
+
export function NSDataSubdata(data, location, length) {
|
|
114
|
+
// Workaround: Convert to buffer, slice, and convert back
|
|
115
|
+
// This avoids the NSRange struct issue with nobjc
|
|
116
|
+
const buffer = bufferFromNSData(data);
|
|
117
|
+
const slicedBuffer = buffer.subarray(location, location + length);
|
|
118
|
+
return NSDataFromBuffer(slicedBuffer);
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=nsdata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nsdata.js","sourceRoot":"","sources":["../../../src/objc/foundation/nsdata.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { NobjcObject } from "objc-js";
|
|
2
|
+
import { type _NSString } from "./nsstring.js";
|
|
3
|
+
export declare class _NSError extends NobjcObject {
|
|
4
|
+
domain(): _NSString;
|
|
5
|
+
code(): number;
|
|
6
|
+
userInfo(): NobjcObject;
|
|
7
|
+
localizedDescription(): _NSString;
|
|
8
|
+
localizedFailureReason(): _NSString;
|
|
9
|
+
localizedRecoverySuggestion(): _NSString;
|
|
10
|
+
localizedRecoveryOptions(): NobjcObject;
|
|
11
|
+
}
|
|
12
|
+
export declare const NSError: typeof _NSError;
|
|
13
|
+
/**
|
|
14
|
+
* Parse an NSError object into a JavaScript-friendly format
|
|
15
|
+
* @param error The NSError object
|
|
16
|
+
* @returns An object containing the error details
|
|
17
|
+
*/
|
|
18
|
+
export declare function parseNSError(error: NobjcObject): {
|
|
19
|
+
domain: string;
|
|
20
|
+
code: number;
|
|
21
|
+
localizedDescription: string;
|
|
22
|
+
localizedFailureReason?: string;
|
|
23
|
+
localizedRecoverySuggestion?: string;
|
|
24
|
+
userInfo?: Record<string, any>;
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Convert an NSError to a JavaScript Error object
|
|
28
|
+
* @param error The NSError object
|
|
29
|
+
* @returns A JavaScript Error with NSError details
|
|
30
|
+
*/
|
|
31
|
+
export declare function nsErrorToJSError(error: NobjcObject): Error;
|
|
32
|
+
//# sourceMappingURL=nserror.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nserror.d.ts","sourceRoot":"","sources":["../../../src/objc/foundation/nserror.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AAG/C,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,WAAW;IAE/C,MAAM,IAAI,SAAS;IACnB,IAAI,IAAI,MAAM;IACd,QAAQ,IAAI,WAAW;IACvB,oBAAoB,IAAI,SAAS;IACjC,sBAAsB,IAAI,SAAS;IACnC,2BAA2B,IAAI,SAAS;IACxC,wBAAwB,IAAI,WAAW;CACxC;AAED,eAAO,MAAM,OAAO,EAAoC,OAAO,QAAQ,CAAC;AAExE;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,WAAW,GAAG;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB,EAAE,MAAM,CAAC;IAC7B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC,CAmDA;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,GAAG,KAAK,CAM1D"}
|