hsass-0.1.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.