[sub-spm-optional-products] Add LCECryptoKit and LCFeatureControl as optional sub-SPM products
LCEssentials installs standalone; each sub target-depends on it so linking a sub's product always pulls LCEssentials in too, without the consumer having to declare it separately. - LCECryptoKit: internalized from the remote LCECryptoKitBinary git dependency (embedded token URL removed) into a local binaryTarget vendoring Frameworks/LCECryptoKit.xcframework. LCECryptoKitManager moved out of LCEssentials core into its own LCECryptoKitManager target/product; the no-op fallback for when the binary wasn't linked is gone (breaking change for existing consumers, see decisions/2026-09-15-sub-spm-optional-products.md). - LCFeatureControl: new product wrapping Atomenta's Feature Control API (flag evaluation with TTL cache + safe-degrade fallback to defaults, notifications inbox, batched exposure telemetry). 45 new tests.
This commit is contained in:
@@ -0,0 +1,382 @@
|
||||
#if 0
|
||||
#elif defined(__arm64__) && __arm64__
|
||||
// Generated by Apple Swift version 6.3.3 effective-5.10 (swiftlang-6.3.3.1.3 clang-2100.1.1.101)
|
||||
#ifndef LCECRYPTOKIT_SWIFT_H
|
||||
#define LCECRYPTOKIT_SWIFT_H
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wgcc-compat"
|
||||
|
||||
#if !defined(__has_include)
|
||||
# define __has_include(x) 0
|
||||
#endif
|
||||
#if !defined(__has_attribute)
|
||||
# define __has_attribute(x) 0
|
||||
#endif
|
||||
#if !defined(__has_feature)
|
||||
# define __has_feature(x) 0
|
||||
#endif
|
||||
#if !defined(__has_warning)
|
||||
# define __has_warning(x) 0
|
||||
#endif
|
||||
|
||||
#if __has_include(<swift/objc-prologue.h>)
|
||||
# include <swift/objc-prologue.h>
|
||||
#endif
|
||||
|
||||
#pragma clang diagnostic ignored "-Wauto-import"
|
||||
#if defined(__OBJC__)
|
||||
#include <Foundation/Foundation.h>
|
||||
#endif // defined(__OBJC__)
|
||||
#if defined(__cplusplus)
|
||||
#include <cstdint>
|
||||
#include <cstddef>
|
||||
#include <cstdbool>
|
||||
#include <cstring>
|
||||
#include <stdlib.h>
|
||||
#include <new>
|
||||
#include <type_traits>
|
||||
#else
|
||||
#include <stdint.h>
|
||||
#include <stddef.h>
|
||||
#include <stdbool.h>
|
||||
#include <string.h>
|
||||
#endif
|
||||
#if defined(__cplusplus)
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wnon-modular-include-in-framework-module"
|
||||
#if defined(__arm64e__) && __has_include(<ptrauth.h>)
|
||||
# include <ptrauth.h>
|
||||
#else
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wreserved-macro-identifier"
|
||||
# ifndef __ptrauth_swift_value_witness_function_pointer
|
||||
# define __ptrauth_swift_value_witness_function_pointer(x)
|
||||
# endif
|
||||
# ifndef __ptrauth_swift_class_method_pointer
|
||||
# define __ptrauth_swift_class_method_pointer(x)
|
||||
# endif
|
||||
#pragma clang diagnostic pop
|
||||
#endif
|
||||
#pragma clang diagnostic pop
|
||||
#endif
|
||||
|
||||
#if !defined(SWIFT_TYPEDEFS)
|
||||
# define SWIFT_TYPEDEFS 1
|
||||
# if __has_include(<uchar.h>)
|
||||
# include <uchar.h>
|
||||
# elif !defined(__cplusplus)
|
||||
typedef unsigned char char8_t;
|
||||
typedef uint_least16_t char16_t;
|
||||
typedef uint_least32_t char32_t;
|
||||
# endif
|
||||
typedef float swift_float2 __attribute__((__ext_vector_type__(2)));
|
||||
typedef float swift_float3 __attribute__((__ext_vector_type__(3)));
|
||||
typedef float swift_float4 __attribute__((__ext_vector_type__(4)));
|
||||
typedef double swift_double2 __attribute__((__ext_vector_type__(2)));
|
||||
typedef double swift_double3 __attribute__((__ext_vector_type__(3)));
|
||||
typedef double swift_double4 __attribute__((__ext_vector_type__(4)));
|
||||
typedef int swift_int2 __attribute__((__ext_vector_type__(2)));
|
||||
typedef int swift_int3 __attribute__((__ext_vector_type__(3)));
|
||||
typedef int swift_int4 __attribute__((__ext_vector_type__(4)));
|
||||
typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2)));
|
||||
typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3)));
|
||||
typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
|
||||
#endif
|
||||
|
||||
#if !defined(SWIFT_PASTE)
|
||||
# define SWIFT_PASTE_HELPER(x, y) x##y
|
||||
# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
|
||||
#endif
|
||||
#if !defined(SWIFT_METATYPE)
|
||||
# define SWIFT_METATYPE(X) Class
|
||||
#endif
|
||||
#if !defined(SWIFT_CLASS_PROPERTY)
|
||||
# if __has_feature(objc_class_property)
|
||||
# define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
|
||||
# else
|
||||
# define SWIFT_CLASS_PROPERTY(...)
|
||||
# endif
|
||||
#endif
|
||||
#if !defined(SWIFT_RUNTIME_NAME)
|
||||
# if __has_attribute(objc_runtime_name)
|
||||
# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
|
||||
# else
|
||||
# define SWIFT_RUNTIME_NAME(X)
|
||||
# endif
|
||||
#endif
|
||||
#if !defined(SWIFT_COMPILE_NAME)
|
||||
# if __has_attribute(swift_name)
|
||||
# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
|
||||
# else
|
||||
# define SWIFT_COMPILE_NAME(X)
|
||||
# endif
|
||||
#endif
|
||||
#if !defined(SWIFT_METHOD_FAMILY)
|
||||
# if __has_attribute(objc_method_family)
|
||||
# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
|
||||
# else
|
||||
# define SWIFT_METHOD_FAMILY(X)
|
||||
# endif
|
||||
#endif
|
||||
#if !defined(SWIFT_NOESCAPE)
|
||||
# if __has_attribute(noescape)
|
||||
# define SWIFT_NOESCAPE __attribute__((noescape))
|
||||
# else
|
||||
# define SWIFT_NOESCAPE
|
||||
# endif
|
||||
#endif
|
||||
#if !defined(SWIFT_RELEASES_ARGUMENT)
|
||||
# if __has_attribute(ns_consumed)
|
||||
# define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed))
|
||||
# else
|
||||
# define SWIFT_RELEASES_ARGUMENT
|
||||
# endif
|
||||
#endif
|
||||
#if !defined(SWIFT_WARN_UNUSED_RESULT)
|
||||
# if __has_attribute(warn_unused_result)
|
||||
# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
|
||||
# else
|
||||
# define SWIFT_WARN_UNUSED_RESULT
|
||||
# endif
|
||||
#endif
|
||||
#if !defined(SWIFT_NORETURN)
|
||||
# if __has_attribute(noreturn)
|
||||
# define SWIFT_NORETURN __attribute__((noreturn))
|
||||
# else
|
||||
# define SWIFT_NORETURN
|
||||
# endif
|
||||
#endif
|
||||
#if !defined(SWIFT_CLASS_EXTRA)
|
||||
# define SWIFT_CLASS_EXTRA
|
||||
#endif
|
||||
#if !defined(SWIFT_PROTOCOL_EXTRA)
|
||||
# define SWIFT_PROTOCOL_EXTRA
|
||||
#endif
|
||||
#if !defined(SWIFT_ENUM_EXTRA)
|
||||
# define SWIFT_ENUM_EXTRA
|
||||
#endif
|
||||
#if !defined(SWIFT_CLASS)
|
||||
# if __has_attribute(objc_subclassing_restricted)
|
||||
# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
|
||||
# define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
|
||||
# else
|
||||
# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
|
||||
# define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
|
||||
# endif
|
||||
#endif
|
||||
#if !defined(SWIFT_RESILIENT_CLASS)
|
||||
# if __has_attribute(objc_class_stub)
|
||||
# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub))
|
||||
# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME)
|
||||
# else
|
||||
# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME)
|
||||
# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME)
|
||||
# endif
|
||||
#endif
|
||||
#if !defined(SWIFT_PROTOCOL)
|
||||
# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
|
||||
# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
|
||||
#endif
|
||||
#if !defined(SWIFT_EXTENSION)
|
||||
# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
|
||||
#endif
|
||||
#if !defined(OBJC_DESIGNATED_INITIALIZER)
|
||||
# if __has_attribute(objc_designated_initializer)
|
||||
# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
|
||||
# else
|
||||
# define OBJC_DESIGNATED_INITIALIZER
|
||||
# endif
|
||||
#endif
|
||||
#if !defined(SWIFT_ENUM_ATTR)
|
||||
# if __has_attribute(enum_extensibility)
|
||||
# define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility)))
|
||||
# else
|
||||
# define SWIFT_ENUM_ATTR(_extensibility)
|
||||
# endif
|
||||
#endif
|
||||
#if !defined(SWIFT_ENUM)
|
||||
# if (defined(__cplusplus) && __cplusplus >= 201103L) || (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || __has_feature(objc_fixed_enum)
|
||||
# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
|
||||
# if __has_feature(generalized_swift_name)
|
||||
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
|
||||
# else
|
||||
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
|
||||
# endif
|
||||
# else
|
||||
# define SWIFT_ENUM(_type, _name, _extensibility) _type _name; enum
|
||||
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
|
||||
# endif
|
||||
#endif
|
||||
#if !defined(SWIFT_ENUM_TAG)
|
||||
# if (defined(__cplusplus) && __cplusplus >= 201103L) || (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || __has_feature(objc_fixed_enum)
|
||||
# define SWIFT_ENUM_TAG enum
|
||||
# else
|
||||
# define SWIFT_ENUM_TAG
|
||||
# endif
|
||||
#endif
|
||||
#if !defined(SWIFT_ENUM_FWD_DECL)
|
||||
# if (defined(__cplusplus) && __cplusplus >= 201103L) || (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || __has_feature(objc_fixed_enum)
|
||||
# define SWIFT_ENUM_FWD_DECL(_type, _name) enum _name : _type;
|
||||
# else
|
||||
# define SWIFT_ENUM_FWD_DECL(_type, _name) typedef _type _name;
|
||||
# endif
|
||||
#endif
|
||||
#if !defined(SWIFT_UNAVAILABLE)
|
||||
# define SWIFT_UNAVAILABLE __attribute__((unavailable))
|
||||
#endif
|
||||
#if !defined(SWIFT_UNAVAILABLE_MSG)
|
||||
# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
|
||||
#endif
|
||||
#if !defined(SWIFT_AVAILABILITY)
|
||||
# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
|
||||
#endif
|
||||
#if !defined(SWIFT_AVAILABILITY_DOMAIN)
|
||||
# define SWIFT_AVAILABILITY_DOMAIN(dom, ...) __attribute__((availability(domain: dom, __VA_ARGS__)))
|
||||
#endif
|
||||
#if !defined(SWIFT_WEAK_IMPORT)
|
||||
# define SWIFT_WEAK_IMPORT __attribute__((weak_import))
|
||||
#endif
|
||||
#if !defined(SWIFT_DEPRECATED)
|
||||
# define SWIFT_DEPRECATED __attribute__((deprecated))
|
||||
#endif
|
||||
#if !defined(SWIFT_DEPRECATED_MSG)
|
||||
# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
|
||||
#endif
|
||||
#if !defined(SWIFT_DEPRECATED_OBJC)
|
||||
# if __has_feature(attribute_diagnose_if_objc)
|
||||
# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
|
||||
# else
|
||||
# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
|
||||
# endif
|
||||
#endif
|
||||
#if defined(__OBJC__)
|
||||
#if !defined(IBSegueAction)
|
||||
# define IBSegueAction
|
||||
#endif
|
||||
#endif
|
||||
#if !defined(SWIFT_EXTERN)
|
||||
# if defined(__cplusplus)
|
||||
# define SWIFT_EXTERN extern "C"
|
||||
# else
|
||||
# define SWIFT_EXTERN extern
|
||||
# endif
|
||||
#endif
|
||||
#if !defined(SWIFT_CALL)
|
||||
# define SWIFT_CALL __attribute__((swiftcall))
|
||||
#endif
|
||||
#if !defined(SWIFT_INDIRECT_RESULT)
|
||||
# define SWIFT_INDIRECT_RESULT __attribute__((swift_indirect_result))
|
||||
#endif
|
||||
#if !defined(SWIFT_CONTEXT)
|
||||
# define SWIFT_CONTEXT __attribute__((swift_context))
|
||||
#endif
|
||||
#if !defined(SWIFT_ERROR_RESULT)
|
||||
# define SWIFT_ERROR_RESULT __attribute__((swift_error_result))
|
||||
#endif
|
||||
#if defined(__cplusplus)
|
||||
# define SWIFT_NOEXCEPT noexcept
|
||||
#else
|
||||
# define SWIFT_NOEXCEPT
|
||||
#endif
|
||||
#if !defined(SWIFT_C_INLINE_THUNK)
|
||||
# if __has_attribute(always_inline)
|
||||
# if __has_attribute(nodebug)
|
||||
# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) __attribute__((nodebug))
|
||||
# else
|
||||
# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline))
|
||||
# endif
|
||||
# else
|
||||
# define SWIFT_C_INLINE_THUNK inline
|
||||
# endif
|
||||
#endif
|
||||
#if defined(_WIN32)
|
||||
#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL)
|
||||
# define SWIFT_IMPORT_STDLIB_SYMBOL __declspec(dllimport)
|
||||
#endif
|
||||
#else
|
||||
#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL)
|
||||
# define SWIFT_IMPORT_STDLIB_SYMBOL
|
||||
#endif
|
||||
#endif
|
||||
#if !__has_feature(nullability)
|
||||
# define _Nonnull
|
||||
# define _Nullable
|
||||
# define _Null_unspecified
|
||||
#elif !defined(__OBJC__)
|
||||
# pragma clang diagnostic ignored "-Wnullability-extension"
|
||||
#endif
|
||||
#if !__has_feature(nullability_nullable_result)
|
||||
# define _Nullable_result _Nullable
|
||||
#endif
|
||||
#if __has_feature(objc_modules)
|
||||
#if __has_warning("-Watimport-in-framework-header")
|
||||
#pragma clang diagnostic ignored "-Watimport-in-framework-header"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
|
||||
#pragma clang diagnostic ignored "-Wduplicate-method-arg"
|
||||
#if __has_warning("-Wpragma-clang-attribute")
|
||||
# pragma clang diagnostic ignored "-Wpragma-clang-attribute"
|
||||
#endif
|
||||
#pragma clang diagnostic ignored "-Wunknown-pragmas"
|
||||
#pragma clang diagnostic ignored "-Wnullability"
|
||||
#pragma clang diagnostic ignored "-Wdollar-in-identifier-extension"
|
||||
#pragma clang diagnostic ignored "-Wunsafe-buffer-usage"
|
||||
|
||||
#if __has_attribute(external_source_symbol)
|
||||
# pragma push_macro("any")
|
||||
# undef any
|
||||
# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="LCECryptoKit",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
|
||||
# pragma pop_macro("any")
|
||||
#endif
|
||||
|
||||
#if defined(__cplusplus)
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#if defined(__cplusplus)
|
||||
} // extern "C"
|
||||
#endif
|
||||
#if __has_attribute(external_source_symbol)
|
||||
# pragma clang attribute pop
|
||||
#endif
|
||||
#if defined(__OBJC__)
|
||||
#if __has_feature(objc_modules)
|
||||
#if __has_warning("-Watimport-in-framework-header")
|
||||
#pragma clang diagnostic ignored "-Watimport-in-framework-header"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#endif // defined(__OBJC__)
|
||||
#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
|
||||
#pragma clang diagnostic ignored "-Wduplicate-method-arg"
|
||||
#if __has_warning("-Wpragma-clang-attribute")
|
||||
# pragma clang diagnostic ignored "-Wpragma-clang-attribute"
|
||||
#endif
|
||||
#pragma clang diagnostic ignored "-Wunknown-pragmas"
|
||||
#pragma clang diagnostic ignored "-Wnullability"
|
||||
#pragma clang diagnostic ignored "-Wdollar-in-identifier-extension"
|
||||
#pragma clang diagnostic ignored "-Wunsafe-buffer-usage"
|
||||
|
||||
#if __has_attribute(external_source_symbol)
|
||||
# pragma push_macro("any")
|
||||
# undef any
|
||||
# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="LCECryptoKit",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
|
||||
# pragma pop_macro("any")
|
||||
#endif
|
||||
|
||||
#if defined(__OBJC__)
|
||||
|
||||
#endif // defined(__OBJC__)
|
||||
#if __has_attribute(external_source_symbol)
|
||||
# pragma clang attribute pop
|
||||
#endif
|
||||
#if defined(__cplusplus)
|
||||
#endif
|
||||
#pragma clang diagnostic pop
|
||||
#endif
|
||||
|
||||
#else
|
||||
#error unsupported Swift architecture
|
||||
#endif
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,417 @@
|
||||
{
|
||||
"ABIRoot": {
|
||||
"kind": "Root",
|
||||
"name": "LCECryptoKit",
|
||||
"printedName": "LCECryptoKit",
|
||||
"children": [
|
||||
{
|
||||
"kind": "Import",
|
||||
"name": "Foundation",
|
||||
"printedName": "Foundation",
|
||||
"declKind": "Import",
|
||||
"moduleName": "LCECryptoKit"
|
||||
},
|
||||
{
|
||||
"kind": "Import",
|
||||
"name": "CommonCrypto",
|
||||
"printedName": "CommonCrypto",
|
||||
"declKind": "Import",
|
||||
"moduleName": "LCECryptoKit"
|
||||
},
|
||||
{
|
||||
"kind": "TypeDecl",
|
||||
"name": "LCECryptoKit",
|
||||
"printedName": "LCECryptoKit",
|
||||
"children": [
|
||||
{
|
||||
"kind": "Function",
|
||||
"name": "generateRandomAESKeyString",
|
||||
"printedName": "generateRandomAESKeyString()",
|
||||
"children": [
|
||||
{
|
||||
"kind": "TypeNominal",
|
||||
"name": "String",
|
||||
"printedName": "Swift.String",
|
||||
"usr": "s:SS"
|
||||
}
|
||||
],
|
||||
"declKind": "Func",
|
||||
"usr": "s:12LCECryptoKitAAV26generateRandomAESKeyStringSSyFZ",
|
||||
"mangledName": "$s12LCECryptoKitAAV26generateRandomAESKeyStringSSyFZ",
|
||||
"moduleName": "LCECryptoKit",
|
||||
"static": true,
|
||||
"declAttributes": [
|
||||
"AccessControl"
|
||||
],
|
||||
"funcSelfKind": "NonMutating"
|
||||
},
|
||||
{
|
||||
"kind": "Function",
|
||||
"name": "encodeSeed",
|
||||
"printedName": "encodeSeed(email:password:)",
|
||||
"children": [
|
||||
{
|
||||
"kind": "TypeNominal",
|
||||
"name": "Optional",
|
||||
"printedName": "Swift.String?",
|
||||
"children": [
|
||||
{
|
||||
"kind": "TypeNominal",
|
||||
"name": "String",
|
||||
"printedName": "Swift.String",
|
||||
"usr": "s:SS"
|
||||
}
|
||||
],
|
||||
"usr": "s:Sq"
|
||||
},
|
||||
{
|
||||
"kind": "TypeNominal",
|
||||
"name": "String",
|
||||
"printedName": "Swift.String",
|
||||
"usr": "s:SS"
|
||||
},
|
||||
{
|
||||
"kind": "TypeNominal",
|
||||
"name": "String",
|
||||
"printedName": "Swift.String",
|
||||
"usr": "s:SS"
|
||||
}
|
||||
],
|
||||
"declKind": "Func",
|
||||
"usr": "s:12LCECryptoKitAAV10encodeSeed5email8passwordSSSgSS_SStFZ",
|
||||
"mangledName": "$s12LCECryptoKitAAV10encodeSeed5email8passwordSSSgSS_SStFZ",
|
||||
"moduleName": "LCECryptoKit",
|
||||
"static": true,
|
||||
"declAttributes": [
|
||||
"AccessControl"
|
||||
],
|
||||
"funcSelfKind": "NonMutating"
|
||||
},
|
||||
{
|
||||
"kind": "Function",
|
||||
"name": "encodeSeed",
|
||||
"printedName": "encodeSeed(email:password:hashKey:)",
|
||||
"children": [
|
||||
{
|
||||
"kind": "TypeNominal",
|
||||
"name": "Optional",
|
||||
"printedName": "Swift.String?",
|
||||
"children": [
|
||||
{
|
||||
"kind": "TypeNominal",
|
||||
"name": "String",
|
||||
"printedName": "Swift.String",
|
||||
"usr": "s:SS"
|
||||
}
|
||||
],
|
||||
"usr": "s:Sq"
|
||||
},
|
||||
{
|
||||
"kind": "TypeNominal",
|
||||
"name": "String",
|
||||
"printedName": "Swift.String",
|
||||
"usr": "s:SS"
|
||||
},
|
||||
{
|
||||
"kind": "TypeNominal",
|
||||
"name": "String",
|
||||
"printedName": "Swift.String",
|
||||
"usr": "s:SS"
|
||||
},
|
||||
{
|
||||
"kind": "TypeNominal",
|
||||
"name": "String",
|
||||
"printedName": "Swift.String",
|
||||
"usr": "s:SS"
|
||||
}
|
||||
],
|
||||
"declKind": "Func",
|
||||
"usr": "s:12LCECryptoKitAAV10encodeSeed5email8password7hashKeySSSgSS_S2StFZ",
|
||||
"mangledName": "$s12LCECryptoKitAAV10encodeSeed5email8password7hashKeySSSgSS_S2StFZ",
|
||||
"moduleName": "LCECryptoKit",
|
||||
"static": true,
|
||||
"declAttributes": [
|
||||
"AccessControl"
|
||||
],
|
||||
"funcSelfKind": "NonMutating"
|
||||
},
|
||||
{
|
||||
"kind": "Function",
|
||||
"name": "decodeSeed",
|
||||
"printedName": "decodeSeed(otpKey:)",
|
||||
"children": [
|
||||
{
|
||||
"kind": "TypeNominal",
|
||||
"name": "Optional",
|
||||
"printedName": "Swift.String?",
|
||||
"children": [
|
||||
{
|
||||
"kind": "TypeNominal",
|
||||
"name": "String",
|
||||
"printedName": "Swift.String",
|
||||
"usr": "s:SS"
|
||||
}
|
||||
],
|
||||
"usr": "s:Sq"
|
||||
},
|
||||
{
|
||||
"kind": "TypeNominal",
|
||||
"name": "String",
|
||||
"printedName": "Swift.String",
|
||||
"usr": "s:SS"
|
||||
}
|
||||
],
|
||||
"declKind": "Func",
|
||||
"usr": "s:12LCECryptoKitAAV10decodeSeed6otpKeySSSgSS_tFZ",
|
||||
"mangledName": "$s12LCECryptoKitAAV10decodeSeed6otpKeySSSgSS_tFZ",
|
||||
"moduleName": "LCECryptoKit",
|
||||
"static": true,
|
||||
"declAttributes": [
|
||||
"AccessControl"
|
||||
],
|
||||
"funcSelfKind": "NonMutating"
|
||||
},
|
||||
{
|
||||
"kind": "Function",
|
||||
"name": "decodeSeed",
|
||||
"printedName": "decodeSeed(otpKey:hashKey:)",
|
||||
"children": [
|
||||
{
|
||||
"kind": "TypeNominal",
|
||||
"name": "Bool",
|
||||
"printedName": "Swift.Bool",
|
||||
"usr": "s:Sb"
|
||||
},
|
||||
{
|
||||
"kind": "TypeNominal",
|
||||
"name": "String",
|
||||
"printedName": "Swift.String",
|
||||
"usr": "s:SS"
|
||||
},
|
||||
{
|
||||
"kind": "TypeNominal",
|
||||
"name": "String",
|
||||
"printedName": "Swift.String",
|
||||
"usr": "s:SS"
|
||||
}
|
||||
],
|
||||
"declKind": "Func",
|
||||
"usr": "s:12LCECryptoKitAAV10decodeSeed6otpKey04hashF0SbSS_SStFZ",
|
||||
"mangledName": "$s12LCECryptoKitAAV10decodeSeed6otpKey04hashF0SbSS_SStFZ",
|
||||
"moduleName": "LCECryptoKit",
|
||||
"static": true,
|
||||
"declAttributes": [
|
||||
"AccessControl"
|
||||
],
|
||||
"funcSelfKind": "NonMutating"
|
||||
},
|
||||
{
|
||||
"kind": "Function",
|
||||
"name": "generateSalt",
|
||||
"printedName": "generateSalt()",
|
||||
"children": [
|
||||
{
|
||||
"kind": "TypeNominal",
|
||||
"name": "String",
|
||||
"printedName": "Swift.String",
|
||||
"usr": "s:SS"
|
||||
}
|
||||
],
|
||||
"declKind": "Func",
|
||||
"usr": "s:12LCECryptoKitAAV12generateSaltSSyFZ",
|
||||
"mangledName": "$s12LCECryptoKitAAV12generateSaltSSyFZ",
|
||||
"moduleName": "LCECryptoKit",
|
||||
"static": true,
|
||||
"declAttributes": [
|
||||
"AccessControl",
|
||||
"RawDocComment"
|
||||
],
|
||||
"funcSelfKind": "NonMutating"
|
||||
},
|
||||
{
|
||||
"kind": "Function",
|
||||
"name": "computeClientHash",
|
||||
"printedName": "computeClientHash(email:password:salt:)",
|
||||
"children": [
|
||||
{
|
||||
"kind": "TypeNominal",
|
||||
"name": "String",
|
||||
"printedName": "Swift.String",
|
||||
"usr": "s:SS"
|
||||
},
|
||||
{
|
||||
"kind": "TypeNominal",
|
||||
"name": "String",
|
||||
"printedName": "Swift.String",
|
||||
"usr": "s:SS"
|
||||
},
|
||||
{
|
||||
"kind": "TypeNominal",
|
||||
"name": "String",
|
||||
"printedName": "Swift.String",
|
||||
"usr": "s:SS"
|
||||
},
|
||||
{
|
||||
"kind": "TypeNominal",
|
||||
"name": "String",
|
||||
"printedName": "Swift.String",
|
||||
"usr": "s:SS"
|
||||
}
|
||||
],
|
||||
"declKind": "Func",
|
||||
"usr": "s:12LCECryptoKitAAV17computeClientHash5email8password4saltS2S_S2StFZ",
|
||||
"mangledName": "$s12LCECryptoKitAAV17computeClientHash5email8password4saltS2S_S2StFZ",
|
||||
"moduleName": "LCECryptoKit",
|
||||
"static": true,
|
||||
"declAttributes": [
|
||||
"AccessControl",
|
||||
"RawDocComment"
|
||||
],
|
||||
"funcSelfKind": "NonMutating"
|
||||
},
|
||||
{
|
||||
"kind": "Function",
|
||||
"name": "computeLoginBearerToken",
|
||||
"printedName": "computeLoginBearerToken(userId:clientHash:)",
|
||||
"children": [
|
||||
{
|
||||
"kind": "TypeNominal",
|
||||
"name": "Optional",
|
||||
"printedName": "Swift.String?",
|
||||
"children": [
|
||||
{
|
||||
"kind": "TypeNominal",
|
||||
"name": "String",
|
||||
"printedName": "Swift.String",
|
||||
"usr": "s:SS"
|
||||
}
|
||||
],
|
||||
"usr": "s:Sq"
|
||||
},
|
||||
{
|
||||
"kind": "TypeNominal",
|
||||
"name": "String",
|
||||
"printedName": "Swift.String",
|
||||
"usr": "s:SS"
|
||||
},
|
||||
{
|
||||
"kind": "TypeNominal",
|
||||
"name": "String",
|
||||
"printedName": "Swift.String",
|
||||
"usr": "s:SS"
|
||||
}
|
||||
],
|
||||
"declKind": "Func",
|
||||
"usr": "s:12LCECryptoKitAAV23computeLoginBearerToken6userId10clientHashSSSgSS_SStFZ",
|
||||
"mangledName": "$s12LCECryptoKitAAV23computeLoginBearerToken6userId10clientHashSSSgSS_SStFZ",
|
||||
"moduleName": "LCECryptoKit",
|
||||
"static": true,
|
||||
"declAttributes": [
|
||||
"AccessControl",
|
||||
"RawDocComment"
|
||||
],
|
||||
"funcSelfKind": "NonMutating"
|
||||
},
|
||||
{
|
||||
"kind": "Function",
|
||||
"name": "otpEncode",
|
||||
"printedName": "otpEncode(_:)",
|
||||
"children": [
|
||||
{
|
||||
"kind": "TypeNominal",
|
||||
"name": "Optional",
|
||||
"printedName": "Swift.String?",
|
||||
"children": [
|
||||
{
|
||||
"kind": "TypeNominal",
|
||||
"name": "String",
|
||||
"printedName": "Swift.String",
|
||||
"usr": "s:SS"
|
||||
}
|
||||
],
|
||||
"usr": "s:Sq"
|
||||
},
|
||||
{
|
||||
"kind": "TypeNominal",
|
||||
"name": "String",
|
||||
"printedName": "Swift.String",
|
||||
"usr": "s:SS"
|
||||
}
|
||||
],
|
||||
"declKind": "Func",
|
||||
"usr": "s:12LCECryptoKitAAV9otpEncodeySSSgSSFZ",
|
||||
"mangledName": "$s12LCECryptoKitAAV9otpEncodeySSSgSSFZ",
|
||||
"moduleName": "LCECryptoKit",
|
||||
"static": true,
|
||||
"declAttributes": [
|
||||
"AccessControl",
|
||||
"RawDocComment"
|
||||
],
|
||||
"funcSelfKind": "NonMutating"
|
||||
},
|
||||
{
|
||||
"kind": "Function",
|
||||
"name": "otpDecode",
|
||||
"printedName": "otpDecode(_:)",
|
||||
"children": [
|
||||
{
|
||||
"kind": "TypeNominal",
|
||||
"name": "Optional",
|
||||
"printedName": "Swift.String?",
|
||||
"children": [
|
||||
{
|
||||
"kind": "TypeNominal",
|
||||
"name": "String",
|
||||
"printedName": "Swift.String",
|
||||
"usr": "s:SS"
|
||||
}
|
||||
],
|
||||
"usr": "s:Sq"
|
||||
},
|
||||
{
|
||||
"kind": "TypeNominal",
|
||||
"name": "String",
|
||||
"printedName": "Swift.String",
|
||||
"usr": "s:SS"
|
||||
}
|
||||
],
|
||||
"declKind": "Func",
|
||||
"usr": "s:12LCECryptoKitAAV9otpDecodeySSSgSSFZ",
|
||||
"mangledName": "$s12LCECryptoKitAAV9otpDecodeySSSgSSFZ",
|
||||
"moduleName": "LCECryptoKit",
|
||||
"static": true,
|
||||
"declAttributes": [
|
||||
"AccessControl"
|
||||
],
|
||||
"funcSelfKind": "NonMutating"
|
||||
}
|
||||
],
|
||||
"declKind": "Struct",
|
||||
"usr": "s:12LCECryptoKitAAV",
|
||||
"mangledName": "$s12LCECryptoKitAAV",
|
||||
"moduleName": "LCECryptoKit",
|
||||
"declAttributes": [
|
||||
"AccessControl"
|
||||
],
|
||||
"conformances": [
|
||||
{
|
||||
"kind": "Conformance",
|
||||
"name": "Copyable",
|
||||
"printedName": "Copyable",
|
||||
"usr": "s:s8CopyableP",
|
||||
"mangledName": "$ss8CopyableP"
|
||||
},
|
||||
{
|
||||
"kind": "Conformance",
|
||||
"name": "Escapable",
|
||||
"printedName": "Escapable",
|
||||
"usr": "s:s9EscapableP",
|
||||
"mangledName": "$ss9EscapableP"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"json_format_version": 8
|
||||
},
|
||||
"ConstValues": []
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
// swift-interface-format-version: 1.0
|
||||
// swift-compiler-version: Apple Swift version 6.3.3 effective-5.10 (swiftlang-6.3.3.1.3 clang-2100.1.1.101)
|
||||
// swift-module-flags: -target arm64-apple-ios13.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name LCECryptoKit
|
||||
// swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.3.3
|
||||
import CommonCrypto
|
||||
import Foundation
|
||||
import Swift
|
||||
import _Concurrency
|
||||
import _StringProcessing
|
||||
import _SwiftConcurrencyShims
|
||||
public struct LCECryptoKit {
|
||||
public static func generateRandomAESKeyString() -> Swift.String
|
||||
public static func encodeSeed(email: Swift.String, password: Swift.String) -> Swift.String?
|
||||
public static func encodeSeed(email: Swift.String, password: Swift.String, hashKey: Swift.String) -> Swift.String?
|
||||
public static func decodeSeed(otpKey: Swift.String) -> Swift.String?
|
||||
public static func decodeSeed(otpKey: Swift.String, hashKey: Swift.String) -> Swift.Bool
|
||||
public static func generateSalt() -> Swift.String
|
||||
public static func computeClientHash(email: Swift.String, password: Swift.String, salt: Swift.String) -> Swift.String
|
||||
public static func computeLoginBearerToken(userId: Swift.String, clientHash: Swift.String) -> Swift.String?
|
||||
public static func otpEncode(_ plainText: Swift.String) -> Swift.String?
|
||||
public static func otpDecode(_ otpEncoded: Swift.String) -> Swift.String?
|
||||
}
|
||||
Binary file not shown.
@@ -0,0 +1,22 @@
|
||||
// swift-interface-format-version: 1.0
|
||||
// swift-compiler-version: Apple Swift version 6.3.3 effective-5.10 (swiftlang-6.3.3.1.3 clang-2100.1.1.101)
|
||||
// swift-module-flags: -target arm64-apple-ios13.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name LCECryptoKit
|
||||
// swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.3.3
|
||||
import CommonCrypto
|
||||
import Foundation
|
||||
import Swift
|
||||
import _Concurrency
|
||||
import _StringProcessing
|
||||
import _SwiftConcurrencyShims
|
||||
public struct LCECryptoKit {
|
||||
public static func generateRandomAESKeyString() -> Swift.String
|
||||
public static func encodeSeed(email: Swift.String, password: Swift.String) -> Swift.String?
|
||||
public static func encodeSeed(email: Swift.String, password: Swift.String, hashKey: Swift.String) -> Swift.String?
|
||||
public static func decodeSeed(otpKey: Swift.String) -> Swift.String?
|
||||
public static func decodeSeed(otpKey: Swift.String, hashKey: Swift.String) -> Swift.Bool
|
||||
public static func generateSalt() -> Swift.String
|
||||
public static func computeClientHash(email: Swift.String, password: Swift.String, salt: Swift.String) -> Swift.String
|
||||
public static func computeLoginBearerToken(userId: Swift.String, clientHash: Swift.String) -> Swift.String?
|
||||
public static func otpEncode(_ plainText: Swift.String) -> Swift.String?
|
||||
public static func otpDecode(_ otpEncoded: Swift.String) -> Swift.String?
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
framework module LCECryptoKit {
|
||||
header "LCECryptoKit-Swift.h"
|
||||
}
|
||||
Reference in New Issue
Block a user