hsass-0.5.0: Integrating Sass into Haskell applications.

Safe HaskellNone
LanguageHaskell2010

Text.Sass.Functions.Internal

Contents

Synopsis

Functions

wrapFunction :: SassFunctionType -> SassFunctionFnType Source #

Wraps function of type SassFunctionType into function that may be passed to native library.

makeNativeFunction :: SassFunction -> IO SassFunctionEntry Source #

Converts SassFunction into native representation.

Freeing native representation is not a pleasant process - libsass frees the SassFunctionEntry, but does not free signature. Because of that, special care must be taken in order to properly deallocate the object. If you don't want to pass the resulting object to Sass_Options, call both clearNativeFunction and then freeNativeFunction. Otherwise, you should call clearNativeFunction BEFORE you deallocate context.

clearNativeFunction :: SassFunctionEntry -> IO () Source #

Releases the signature of a function entry.

freeNativeFunction :: SassFunctionEntry -> IO () Source #

Deallocates the object, but does not deallocate signature.

makeNativeFunctionList :: [SassFunction] -> IO SassFunctionList Source #

Converts list of SassFunctions into native representation.

There is analogous problem in relation to deallocation of the result as with makeNativeFunction. See documentation above for explanation.

clearNativeFunctionList :: SassFunctionList -> IO () Source #

Releases signatures of entries in the list.

freeNativeFunctionList :: SassFunctionList -> IO () Source #

Frees the list and entries, without releasing signatures.

Imports and headers

makeNativeImport :: SassImport -> IO SassImportEntry Source #

Converts SassImport into native representation.

freeNativeImport :: SassImportEntry -> IO () Source #

Frees native representation of SassImport.

makeNativeImportList :: [SassImport] -> IO SassImportList Source #

Converts list of SassImports into native representation.

freeNativeImportList :: SassImportList -> IO () Source #

Frees native representation of list of SassEntry, including entries.

makeNativeImporter :: SassImporter -> IO SassImporterEntry Source #

Converts SassImporter into native representation.

freeNativeImporter :: SassImporterEntry -> IO () Source #

Frees native representation of SassImporter.

makeNativeImporterList :: [SassImporter] -> IO SassImporterList Source #

Makes native representation of list of SassImporters.

freeNativeImporterList :: SassImporterList -> IO () Source #

Frees list of native representations of SassImporters.

Libsass does not provide function to free this kind of objects, but we provide it just in case.