Software /
code /
prosody
File
util/envload.lua @ 11455:a5050e21ab08
util.datamapper: Separate extraction of xml from coercion to target type
Now it gets the text, attribute or name first, then turns it into
whatever the schema wants. This should be easier to further factor out
into preparation for array support.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sun, 14 Mar 2021 03:06:37 +0100 |
parent | 8416:bc9cb23b604a |
child | 12576:d1aacc6a81ac |
line wrap: on
line source
-- Prosody IM -- Copyright (C) 2008-2011 Florian Zeitz -- -- This project is MIT/X11 licensed. Please see the -- COPYING file in the source package for more information. -- -- luacheck: ignore 113/setfenv 113/loadstring local load, loadstring, setfenv = load, loadstring, setfenv; local io_open = io.open; local envload; local envloadfile; if setfenv then function envload(code, source, env) local f, err = loadstring(code, source); if f and env then setfenv(f, env); end return f, err; end function envloadfile(file, env) local fh, err, errno = io_open(file); if not fh then return fh, err, errno; end local f, err = load(function () return fh:read(2048); end, "@"..file); fh:close(); if f and env then setfenv(f, env); end return f, err; end else function envload(code, source, env) return load(code, source, nil, env); end function envloadfile(file, env) local fh, err, errno = io_open(file); if not fh then return fh, err, errno; end local f, err = load(fh:lines(2048), "@"..file, nil, env); fh:close(); return f, err; end end return { envload = envload, envloadfile = envloadfile };