236 bool reuseStrings,
bool externPointers)
FLAPI;
#define FL_NULLABLE
Definition: CompilerSupport.h:74
#define FLEECE_PUBLIC
Definition: CompilerSupport.h:241
#define FL_ASSUME_NONNULL_BEGIN
Definition: CompilerSupport.h:72
#define FLPURE
Definition: CompilerSupport.h:110
#define FL_ASSUME_NONNULL_END
Definition: CompilerSupport.h:73
#define FLAPI
Definition: CompilerSupport.h:247
struct _FLSharedKeyScope * FLSharedKeyScope
Definition: FLExpert.h:158
FLEECE_PUBLIC size_t FLEncoder_GetNextWritePos(FLEncoder)
Returns the byte offset in the encoded data where the next value will be written.
FLEECE_PUBLIC void FLSharedKeys_Release(FLSharedKeys FL_NULLABLE)
Decrements the reference count of an FLSharedKeys, freeing it when it reaches zero.
FLEECE_PUBLIC FLSharedKeyScope FLSharedKeyScope_WithRange(FLSlice range, FLSharedKeys)
Registers a range of memory containing Fleece data that uses the given shared keys.
FLEECE_PUBLIC FLSharedKeys FLSharedKeys_New(void)
Creates a new empty FLSharedKeys object, which must eventually be released.
FLEECE_PUBLIC FLSlice FLEncoder_GetBase(FLEncoder)
Returns the base value passed to FLEncoder_Amend.
FLEECE_PUBLIC FLSharedKeys FL_NULLABLE FLSharedKeys_Retain(FLSharedKeys FL_NULLABLE)
Increments the reference count of an FLSharedKeys.
FLEECE_PUBLIC size_t FLEncoder_FinishItem(FLEncoder)
Finishes encoding the current item, and returns its offset in the output data.
FLEECE_PUBLIC void FLEncoder_WriteValueAgain(FLEncoder, intptr_t preWrittenValue)
Writes another reference (a "pointer") to an already-written value, given a reference previously retu...
FLEECE_PUBLIC void FLJSONEncoder_NextDocument(FLEncoder)
In a JSON encoder, adds a newline (' ') and prepares to start encoding another top-level object.
FLEECE_PUBLIC const char *FL_NULLABLE FLDump(FLValue FL_NULLABLE)
Debugging function that returns a C string of JSON.
FLEECE_PUBLIC FLValue FL_NULLABLE FLValue_FromData(FLSlice data, FLTrust trust) FLPURE
Returns a pointer to the root value in the encoded data, or NULL if validation failed.
FLEECE_PUBLIC void FLEncoder_SuppressTrailer(FLEncoder)
Tells the encoder not to write the two-byte Fleece trailer at the end of the data.
FLEECE_PUBLIC FLStringResult FLJSON5_ToJSON(FLString json5, FLStringResult *FL_NULLABLE outErrorMessage, size_t *FL_NULLABLE outErrorPos, FLError *FL_NULLABLE outError)
Converts valid JSON5 https://json5.org to JSON.
FLEECE_PUBLIC FLStringResult FLData_Dump(FLSlice data)
Produces a human-readable dump of Fleece-encoded data.
FLEECE_PUBLIC void FLSharedKeys_WriteState(FLSharedKeys, FLEncoder)
Writes the current state to a Fleece encoder as a single value, which can later be decoded and passed...
FLEECE_PUBLIC bool FLEncodeApplyingJSONDelta(FLValue FL_NULLABLE old, FLSlice jsonDelta, FLEncoder encoder)
Applies the (parsed) JSON data created by CreateJSONDelta to the value old, which must be equal to th...
FLEECE_PUBLIC FLString FLSharedKeys_Decode(FLSharedKeys, int key)
Returns the key string that maps to the given integer key, else NULL.
FLEECE_PUBLIC unsigned FLSharedKeys_Count(FLSharedKeys)
Returns the number of keys in the mapping.
FLEECE_PUBLIC void FLSharedKeyScope_Free(FLSharedKeyScope FL_NULLABLE)
Unregisters a scope created by FLSharedKeyScope_WithRange.
FLEECE_PUBLIC void FLEncoder_Amend(FLEncoder e, FLSlice base, bool reuseStrings, bool externPointers)
Tells the encoder to logically append to the given Fleece document, rather than making a standalone d...
FLEECE_PUBLIC FLSliceResult FLApplyJSONDelta(FLValue FL_NULLABLE old, FLSlice jsonDelta, FLError *FL_NULLABLE outError)
Applies the JSON data created by CreateJSONDelta to the value old, which must be equal to the old val...
FLEECE_PUBLIC bool FLEncodeJSONDelta(FLValue FL_NULLABLE old, FLValue FL_NULLABLE nuu, FLEncoder jsonEncoder)
Writes JSON that describes the changes to turn the value old into nuu.
FLEECE_PUBLIC FLSliceResult FLData_ConvertJSON(FLSlice json, FLError *FL_NULLABLE outError)
Directly converts JSON data to Fleece-encoded data.
FLEECE_PUBLIC void FLSharedKeys_RevertToCount(FLSharedKeys, unsigned oldCount)
Reverts an FLSharedKeys by "forgetting" any keys added since it had the count oldCount.
FLEECE_PUBLIC int FLSharedKeys_Encode(FLSharedKeys, FLString, bool add)
Maps a key string to a number in the range [0...2047], or returns -1 if it isn't mapped.
FLEECE_PUBLIC FLSliceResult FLEncoder_Snip(FLEncoder)
Returns the data written so far as a standalone Fleece document, whose root is the last value written...
FLEECE_PUBLIC FLSliceResult FLCreateJSONDelta(FLValue FL_NULLABLE old, FLValue FL_NULLABLE nuu)
Returns JSON that encodes the changes to turn the value old into nuu.
FLEECE_PUBLIC bool FLSharedKeys_LoadState(FLSharedKeys, FLValue)
Updates an FLSharedKeys object with saved state, a Fleece value previously written by FLSharedKeys_Wr...
FLEECE_PUBLIC const char *FL_NULLABLE FLDumpData(FLSlice data)
Debugging function that parses Fleece data and returns a C string of JSON.
FLEECE_PUBLIC bool FLSharedKeys_LoadStateData(FLSharedKeys, FLSlice)
Updates an FLSharedKeys with saved state data created by FLSharedKeys_GetStateData.
FLEECE_PUBLIC FLSharedKeys FLSharedKeys_NewWithRead(FLSharedKeysReadCallback, void *FL_NULLABLE context)
bool(* FLSharedKeysReadCallback)(void *FL_NULLABLE context, FLSharedKeys)
Definition: FLExpert.h:115
FLEECE_PUBLIC FLSliceResult FLSharedKeys_GetStateData(FLSharedKeys)
Returns a data blob containing the current state (all the keys and their integers....
FLEECE_PUBLIC intptr_t FLEncoder_LastValueWritten(FLEncoder)
Returns an opaque reference to the last complete value written to the encoder, if possible.
FLError
Error codes returned from some API calls.
Definition: FLBase.h:48
struct _FLEncoder * FLEncoder
A reference to an encoder.
Definition: FLBase.h:41
FLTrust
Specifies whether not input data is trusted to be 100% valid Fleece.
Definition: FLBase.h:65
struct _FLSharedKeys * FLSharedKeys
A reference to a shared-keys mapping.
Definition: FLBase.h:43
const struct _FLValue * FLValue
A reference to a value of any type.
Definition: FLBase.h:35
A simple reference to a block of memory.
Definition: FLSlice.h:45
A heap-allocated block of memory returned from an API call.
Definition: FLSlice.h:63