{"roots": [{"type": "class", "base": "namespace", "flags": [], "templates": [], "route": "Websom", "name": "Websom", "inherits": ["everything"], "members": []},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Server", "name": "Server", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "buckets",  "output": {"name": "array", "template": [{"name": "Websom.Bucket", "template": []}]}},{"type": "property", "binding": "bound", "name": "bucketReference",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "version",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "security",  "output": {"name": "Websom.Services.Security", "template": []}},{"type": "property", "binding": "bound", "name": "module",  "output": {"name": "Websom.Services.Module", "template": []}},{"type": "property", "binding": "bound", "name": "resource",  "output": {"name": "Websom.Services.Resource", "template": []}},{"type": "property", "binding": "bound", "name": "router",  "output": {"name": "Websom.Services.Router", "template": []}},{"type": "property", "binding": "bound", "name": "view",  "output": {"name": "Websom.Services.View", "template": []}},{"type": "property", "binding": "bound", "name": "theme",  "output": {"name": "Websom.Services.Theme", "template": []}},{"type": "property", "binding": "bound", "name": "database",  "output": {"name": "Websom.Services.Database", "template": []}},{"type": "property", "binding": "bound", "name": "input",  "output": {"name": "Websom.Services.Input", "template": []}},{"type": "property", "binding": "bound", "name": "crypto",  "output": {"name": "Websom.Services.Crypto", "template": []}},{"type": "property", "binding": "bound", "name": "email",  "output": {"name": "Websom.Services.Email", "template": []}},{"type": "property", "binding": "bound", "name": "render",  "output": {"name": "Websom.Services.Render", "template": []}},{"type": "property", "binding": "bound", "name": "pack",  "output": {"name": "Websom.Services.Pack", "template": []}},{"type": "property", "binding": "bound", "name": "notification",  "output": {"name": "Websom.Services.Notification", "template": []}},{"type": "property", "binding": "bound", "name": "confirmation",  "output": {"name": "Websom.Services.Confirmation", "template": []}},{"type": "property", "binding": "bound", "name": "micro",  "output": {"name": "Websom.Services.Micro", "template": []}},{"type": "property", "binding": "bound", "name": "adaptation",  "output": {"name": "Websom.Services.Adaptation", "template": []}},{"type": "property", "binding": "bound", "name": "api",  "output": {"name": "Websom.Services.API", "template": []}},{"type": "property", "binding": "bound", "name": "session",  "output": {"name": "Websom.Services.Session", "template": []}},{"type": "property", "binding": "bound", "name": "userSystem",  "output": {"name": "Websom.Standard.UserSystem.Module", "template": []}},{"type": "property", "binding": "bound", "name": "commerceSystem",  "output": {"name": "Websom.Standard.CommerceSystem.Module", "template": []}},{"type": "property", "binding": "bound", "name": "config",  "output": {"name": "Websom.Config", "template": []}},{"type": "property", "binding": "bound", "name": "configService",  "output": {"name": "Websom.Services.Config", "template": []}},{"type": "property", "binding": "bound", "name": "rawInputConfig",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "devDeploy",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "scriptPath",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "websomRoot",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "apiHost",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "apiDomain",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "clientHost",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "clientDomain",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "websiteName",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "status",  "output": {"name": "Websom.Status", "template": []}},{"type": "property", "binding": "bound", "name": "developmentServer",  "output": {"name": "Websom.Server", "template": []}},{"type": "property", "binding": "bound", "name": "restartHandler",  "output": {"name": "function", "template": [{"name": "void", "template": []}]}},{"type": "property", "binding": "bound", "name": "expressServer",  "output": {"name": "void", "template": []}},{"type": "property", "binding": "bound", "name": "bucketAdapter",  "output": {"name": "Websom.AdapterInterface", "template": []}},{"type": "property", "binding": "bound", "name": "bucket",  "output": {"name": "Websom.Adapters.Bucket.Adapter", "template": []}},{"type": "property", "binding": "bound", "name": "buckets",  "output": {"name": "array", "template": [{"name": "Websom.Bucket", "template": []}]}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "config", "type": {"name": "Websom.Config", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "config", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "registerBucket",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "bucket", "type": {"name": "Websom.Bucket", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "registerServiceCollection", "flags": ["trust"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "collection", "type": {"name": "Websom.Adapters.Database.Collection", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "getDeploy",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}, "arguments": [{"optional": "false", "name": "name", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "adapt",  "output": {"name": "Websom.AdapterInterface", "template": []}, "arguments": [{"optional": "false", "name": "name", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "getConfigString",  "output": {"name": "string", "template": []}, "arguments": [{"optional": "false", "name": "route", "type": {"name": "string", "template": []}},{"optional": "false", "name": "option", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "getConfigPrimitive",  "output": {"name": "string", "template": []}, "arguments": [{"optional": "false", "name": "route", "type": {"name": "string", "template": []}},{"optional": "false", "name": "option", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "logException",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "e", "type": {"name": "Exception", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "startServices",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "command",  "output": {"name": "Websom.Command", "template": []}, "arguments": [{"optional": "false", "name": "name", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "injectExpression",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "src", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "getBucketFromReference",  "output": {"name": "Websom.Bucket", "template": []}, "arguments": [{"optional": "false", "name": "referenceName", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "log", "flags": ["trust"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "value", "type": {"name": "everything", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "request",  "output": {"name": "Websom.RequestChain", "template": []}, "arguments": [{"optional": "false", "name": "url", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "getBucket",  "output": {"name": "Websom.Bucket", "template": []}, "arguments": [{"optional": "false", "name": "name", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "loadBucket",  "output": {"name": "Websom.Bucket", "template": []}, "arguments": [{"optional": "false", "name": "name", "type": {"name": "string", "template": []}},{"optional": "false", "name": "raw", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "spawnRealServer",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "startDevelopmentServer",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "start",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "stop",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "sendResponse",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "response", "type": {"name": "Websom.Response", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "makeRequestFromExpress",  "output": {"name": "Websom.Request", "template": []}, "arguments": [{"optional": "false", "name": "req", "type": {"name": "void", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "expressAPIOptionsRequest",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "req", "type": {"name": "void", "template": []}},{"optional": "false", "name": "res", "type": {"name": "void", "template": []}},{"optional": "false", "name": "path", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "expressAPIRequest",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "req", "type": {"name": "void", "template": []}},{"optional": "false", "name": "res", "type": {"name": "void", "template": []}},{"optional": "false", "name": "path", "type": {"name": "string", "template": []}},{"optional": "false", "name": "method", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "startAPI",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "port", "type": {"name": "int", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "processAPIRequest",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "req", "type": {"name": "Websom.Request", "template": []}},{"optional": "false", "name": "method", "type": {"name": "string", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "startWebpackServer",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "uiPort", "type": {"name": "int", "template": []}},{"optional": "false", "name": "apiPort", "type": {"name": "int", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "start",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "uiPort", "type": {"name": "int", "template": []}},{"optional": "false", "name": "apiPort", "type": {"name": "int", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "listen",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "port", "type": {"name": "int", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "run",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "route", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "namespace", "flags": [], "templates": [], "route": "Websom.Adapters", "name": "Adapters", "inherits": ["everything"], "members": []},{"type": "class", "base": "namespace", "flags": [], "templates": [], "route": "Websom.Adapters.Database", "name": "Database", "inherits": ["everything"], "members": []},{"type": "class", "base": "class", "flags": ["header","header"], "templates": [], "route": "Websom.Adapters.Database.Adapter", "name": "Adapter", "inherits": ["Websom.Adapter","everything"], "members": [{"type": "method", "binding": "bound", "name": "collection",  "output": {"name": "Websom.Adapters.Database.Collection", "template": []}, "arguments": [{"optional": "false", "name": "name", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "property", "binding": "bound", "name": "adapterKey",  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "initialize",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "shutdown",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": true, "isAsync": true}], "raw": {"type":"class","doc":[],"flags":["header","header"],"name":"Websom.Adapters.Database.Adapter","members":[{"type":"method","name":"collection","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":161,"end":167,"template":false},"doc":[],"name":"name","optional":[]}],"body":{"type":"block","code":[{"type":"return","expression":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.Adapters.Database.Collection","start":190,"end":237,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"this","start":226,"end":230,"appendix":[]}],"type":"expression","start":226,"end":229},{"terms":[{"type":"constant","name":"name","start":232,"end":236,"appendix":[]}],"type":"expression","start":231,"end":235}]}]}],"type":"expression","start":190,"end":236},"start":186,"end":237,"appendix":[]}],"type":"expression","start":186,"end":236},"start":179,"end":237}],"start":174,"end":241}},"output":{"name":"Websom.Adapters.Database.Collection","template":[]},"flags":[],"templates":[],"start":114,"doc":[],"end":241}],"inherits":{"types":[{"name":"Websom.Adapter","reference":0,"start":95,"end":109,"template":false}]},"templates":[],"start":37,"end":244}},{"type": "class", "base": "class", "flags": ["header"], "templates": [], "route": "Websom.Adapters.Database.Collection", "name": "Collection", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "database",  "output": {"name": "Websom.Adapters.Database.Adapter", "template": []}},{"type": "property", "binding": "bound", "name": "appliedSchema",  "output": {"name": "Websom.Adapters.Database.Schema", "template": []}},{"type": "property", "binding": "bound", "name": "searchable",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "replicatedSearchFields",  "output": {"name": "array", "template": [{"name": "string", "template": []}]}},{"type": "property", "binding": "bound", "name": "name",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "entityTemplate",  "output": {"name": "void", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "database", "type": {"name": "Websom.Adapters.Database.Adapter", "template": []}},{"optional": "false", "name": "name", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "makeEntity",  "output": {"name": "Websom.Entity", "template": []}, "arguments": [{"optional": "false", "name": "document", "type": {"name": "Websom.Adapters.Database.Document", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "enableSearching",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "fields", "type": {"name": "array", "template": [{"name": "string", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "makeDocumentFromMap",  "output": {"name": "Websom.Adapters.Database.Document", "template": []}, "arguments": [{"optional": "false", "name": "id", "type": {"name": "string", "template": []}},{"optional": "false", "name": "data", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "schema",  "output": {"name": "Websom.Adapters.Database.Schema", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "insert",  "output": {"name": "Websom.Adapters.Database.InsertQuery", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "commitBatch",  "output": {"name": "array", "template": [{"name": "Websom.Adapters.Database.InsertQueryResult", "template": []}]}, "arguments": [{"optional": "false", "name": "query", "type": {"name": "Websom.Adapters.Database.BatchQuery", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "executeInsert",  "output": {"name": "Websom.Adapters.Database.InsertQueryResult", "template": []}, "arguments": [{"optional": "false", "name": "query", "type": {"name": "Websom.Adapters.Database.InsertQuery", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "select",  "output": {"name": "Websom.Adapters.Database.SelectQuery", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "executeSelect",  "output": {"name": "Websom.Adapters.Database.SelectQueryResult", "template": []}, "arguments": [{"optional": "false", "name": "query", "type": {"name": "Websom.Adapters.Database.SelectQuery", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "where",  "output": {"name": "Websom.Adapters.Database.SelectQuery", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "string", "template": []}},{"optional": "false", "name": "operator", "type": {"name": "string", "template": []}},{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "update",  "output": {"name": "Websom.Adapters.Database.UpdateQuery", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "executeUpdate",  "output": {"name": "Websom.Adapters.Database.UpdateQueryResult", "template": []}, "arguments": [{"optional": "false", "name": "query", "type": {"name": "Websom.Adapters.Database.UpdateQuery", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "delete",  "output": {"name": "Websom.Adapters.Database.DeleteQuery", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "executeDelete",  "output": {"name": "Websom.Adapters.Database.DeleteQueryResult", "template": []}, "arguments": [{"optional": "false", "name": "query", "type": {"name": "Websom.Adapters.Database.DeleteQuery", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "batch",  "output": {"name": "Websom.Adapters.Database.BatchQuery", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "registerSchema",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "schema", "type": {"name": "Websom.Adapters.Database.Schema", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "document", "flags": ["trust"],  "output": {"name": "Websom.Adapters.Database.Document", "template": []}, "arguments": [{"optional": "false", "name": "id", "type": {"name": "string", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "getAll",  "output": {"name": "array", "template": [{"name": "Websom.Adapters.Database.Document", "template": []}]}, "arguments": [{"optional": "false", "name": "id", "type": {"name": "array", "template": [{"name": "string", "template": []}]}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "meta",  "output": {"name": "Websom.Adapters.Database.MetaDocument", "template": []}, "arguments": [{"optional": "false", "name": "key", "type": {"name": "string", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "entity",  "output": {"name": "Websom.Entity", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "getEntity", "flags": ["trust"],  "output": {"name": "Websom.Entity", "template": []}, "arguments": [{"optional": "false", "name": "id", "type": {"name": "string", "template": []}}], "isImplicitAsync": true, "isAsync": true}], "raw": {"type":"class","doc":[],"flags":["header"],"name":"Websom.Adapters.Database.Collection","members":[{"type":"property","name":"database","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":346,"end":350,"appendix":[]}],"type":"expression","start":346,"end":349}},"output":{"name":"Websom.Adapters.Database.Adapter","template":[]},"flags":[],"templates":[],"start":302,"doc":[],"end":350},{"type":"property","name":"appliedSchema","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":402,"end":406,"appendix":[]}],"type":"expression","start":402,"end":405}},"output":{"name":"Websom.Adapters.Database.Schema","template":[]},"flags":[],"templates":[],"start":351,"doc":[],"end":406},{"type":"property","name":"searchable","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"boolean","value":false,"start":431,"end":436,"appendix":[]}],"type":"expression","start":431,"end":435}},"output":{"name":"bool","template":[]},"flags":[],"templates":[],"start":407,"doc":[],"end":436},{"type":"property","doc":[],"output":{"name":"array","reference":0,"start":440,"end":453,"template":[{"name":"string","reference":0,"start":441,"end":447,"template":false}]},"name":"replicatedSearchFields","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":479,"end":483,"appendix":[]}],"type":"expression","start":479,"end":482}},"flags":[],"templates":[],"start":437,"end":483},{"type":"property","name":"name","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":503,"end":505,"appendix":[]}],"type":"expression","start":503,"end":504}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":484,"doc":[],"end":505},{"type":"property","name":"entityTemplate","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":533,"end":537,"appendix":[]}],"type":"expression","start":533,"end":536}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":506,"doc":[],"end":537},{"type":"method","name":"@construct","value":{"type":"method","parameters":[{"type":{"name":"Websom.Adapters.Database.Adapter","reference":0,"start":559,"end":591,"template":false},"doc":[],"name":"database","optional":[]},{"type":{"name":"string","reference":0,"start":602,"end":608,"template":false},"doc":[],"name":"name","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.database","start":620,"end":633,"appendix":[]}},{"type":"constant","name":"database","start":636,"end":644,"appendix":[]}],"type":"expression","start":620,"end":644},{"terms":[{"operator":"=","term":{"type":"constant","name":"this.name","start":649,"end":658,"appendix":[]}},{"type":"constant","name":"name","start":661,"end":665,"appendix":[]}],"type":"expression","start":645,"end":665}],"start":615,"end":669}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":538,"doc":[],"end":669},{"type":"method","name":"makeEntity","value":{"type":"method","parameters":[{"type":{"name":"Websom.Adapters.Database.Document","reference":0,"start":700,"end":733,"template":false},"doc":[],"name":"document","optional":[]}],"body":{"type":"block","code":[{"type":"define","name":"entity","valueType":{"name":"Websom.Entity","reference":0,"start":753,"end":766,"template":false},"value":{"terms":[{"type":"constant","name":"null","start":776,"end":780,"appendix":[]}],"type":"expression","start":776,"end":779},"start":749,"end":780},{"type":"native","platform":"javascript","content":"\r\n\t\t\tentity = new this.entityTemplate();\r\n\t\t","start":781,"end":850},{"type":"native","platform":"php","content":"\r\n\t\t\t$cls = $this->entityTemplate;\r\n\t\t\t$entity = new $cls();\r\n\t\t","start":851,"end":933},{"terms":[{"operator":"=","term":{"type":"constant","name":"entity.collection","start":940,"end":957,"appendix":[]}},{"type":"constant","name":"this","start":960,"end":964,"appendix":[]}],"type":"expression","start":934,"end":964},{"terms":[{"operator":"=","term":{"type":"constant","name":"entity.id","start":969,"end":978,"appendix":[]}},{"type":"constant","name":"document.id","start":981,"end":992,"appendix":[]}],"type":"expression","start":965,"end":992},{"terms":[{"type":"constant","name":"entity.loadFromMap","start":999,"end":1034,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"document.data","start":1018,"end":1033,"appendix":[{"type":"call","expression":[]}]}],"type":"expression","start":1018,"end":1032}]}]}],"type":"expression","start":993,"end":1034},{"type":"return","expression":{"terms":[{"type":"constant","name":"entity","start":1048,"end":1054,"appendix":[]}],"type":"expression","start":1048,"end":1053},"start":1035,"end":1054}],"start":744,"end":1058}},"output":{"name":"Websom.Entity","template":[]},"flags":[],"templates":[],"start":670,"doc":[],"end":1058},{"type":"method","name":"enableSearching","value":{"type":"method","parameters":[{"type":{"name":"array","reference":0,"start":1085,"end":1098,"template":[{"name":"string","reference":0,"start":1086,"end":1092,"template":false}]},"doc":[],"name":"fields","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.searchable","start":1112,"end":1127,"appendix":[]}},{"type":"literal","literalType":"boolean","value":true,"start":1130,"end":1134,"appendix":[]}],"type":"expression","start":1112,"end":1134},{"terms":[{"operator":"=","term":{"type":"constant","name":"this.replicatedSearchFields","start":1139,"end":1166,"appendix":[]}},{"type":"constant","name":"fields","start":1169,"end":1175,"appendix":[]}],"type":"expression","start":1135,"end":1175}],"start":1107,"end":1179}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":1059,"doc":[],"end":1179},{"type":"method","name":"makeDocumentFromMap","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":1239,"end":1245,"template":false},"doc":[],"name":"id","optional":[]},{"type":{"name":"map","reference":0,"start":1250,"end":1253,"template":false},"doc":[],"name":"data","optional":[]}],"body":{"type":"block","code":[],"start":1260,"end":1266}},"output":{"name":"Websom.Adapters.Database.Document","template":[]},"flags":[],"templates":[],"start":1180,"doc":[],"end":1266},{"type":"method","name":"schema","value":{"type":"method","parameters":[],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.appliedSchema","start":1318,"end":1336,"appendix":[]}},{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.Adapters.Database.Schema","start":1343,"end":1380,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"this","start":1375,"end":1379,"appendix":[]}],"type":"expression","start":1375,"end":1378}]}]}],"type":"expression","start":1343,"end":1379},"start":1339,"end":1380,"appendix":[]}],"type":"expression","start":1318,"end":1380},{"type":"return","expression":{"terms":[{"type":"constant","name":"this.appliedSchema","start":1396,"end":1414,"appendix":[]}],"type":"expression","start":1396,"end":1413},"start":1381,"end":1414}],"start":1313,"end":1418}},"output":{"name":"Websom.Adapters.Database.Schema","template":[]},"flags":[],"templates":[],"start":1267,"doc":[],"end":1418},{"type":"method","name":"insert","value":{"type":"method","parameters":[],"body":{"type":"block","code":[{"type":"return","expression":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.Adapters.Database.InsertQuery","start":1486,"end":1528,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"this","start":1523,"end":1527,"appendix":[]}],"type":"expression","start":1523,"end":1526}]}]}],"type":"expression","start":1486,"end":1527},"start":1482,"end":1528,"appendix":[]}],"type":"expression","start":1482,"end":1527},"start":1475,"end":1528}],"start":1470,"end":1532}},"output":{"name":"Websom.Adapters.Database.InsertQuery","template":[]},"flags":[],"templates":[],"start":1419,"doc":[],"end":1532},{"type":"method","attribute":[{"key":"ForceAsync","value":true}],"doc":[],"output":{"name":"array","reference":0,"start":1553,"end":1602,"template":[{"name":"Websom.Adapters.Database.InsertQueryResult","reference":0,"start":1554,"end":1596,"template":false}]},"name":"commitBatch","value":{"type":"method","parameters":[{"type":{"name":"Websom.Adapters.Database.BatchQuery","reference":0,"start":1615,"end":1650,"template":false},"doc":[],"name":"query","optional":[]}],"body":{"type":"block","code":[],"start":1658,"end":1666}},"flags":[],"templates":[],"start":1533,"end":1666},{"type":"method","name":"executeInsert","value":{"type":"method","parameters":[{"type":{"name":"Websom.Adapters.Database.InsertQuery","reference":0,"start":1744,"end":1780,"template":false},"doc":[],"name":"query","optional":[]}],"body":{"type":"block","code":[],"start":1788,"end":1796}},"output":{"name":"Websom.Adapters.Database.InsertQueryResult","template":[]},"flags":[],"templates":[],"start":1667,"attribute":[{"key":"ForceAsync","value":true}],"doc":[],"end":1796},{"type":"method","name":"select","value":{"type":"method","parameters":[],"body":{"type":"block","code":[{"type":"return","expression":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.Adapters.Database.SelectQuery","start":1864,"end":1906,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"this","start":1901,"end":1905,"appendix":[]}],"type":"expression","start":1901,"end":1904}]}]}],"type":"expression","start":1864,"end":1905},"start":1860,"end":1906,"appendix":[]}],"type":"expression","start":1860,"end":1905},"start":1853,"end":1906}],"start":1848,"end":1910}},"output":{"name":"Websom.Adapters.Database.SelectQuery","template":[]},"flags":[],"templates":[],"start":1797,"doc":[],"end":1910},{"type":"method","name":"executeSelect","value":{"type":"method","parameters":[{"type":{"name":"Websom.Adapters.Database.SelectQuery","reference":0,"start":1988,"end":2024,"template":false},"doc":[],"name":"query","optional":[]}],"body":{"type":"block","code":[],"start":2032,"end":2040}},"output":{"name":"Websom.Adapters.Database.SelectQueryResult","template":[]},"flags":[],"templates":[],"start":1911,"attribute":[{"key":"ForceAsync","value":true}],"doc":[],"end":2040},{"type":"method","name":"where","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":2089,"end":2095,"template":false},"doc":[],"name":"field","optional":[]},{"type":{"name":"string","reference":0,"start":2103,"end":2109,"template":false},"doc":[],"name":"operator","optional":[]},{"type":{"name":"primitive","reference":0,"start":2120,"end":2129,"template":false},"doc":[],"name":"value","optional":[]}],"body":{"type":"block","code":[{"type":"define","name":"q","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"this.select","start":2150,"end":2163,"appendix":[{"type":"call","expression":[]}]}],"type":"expression","start":2150,"end":2162},"start":2142,"end":2163},{"terms":[{"type":"constant","name":"q.where","start":2168,"end":2199,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"field","start":2176,"end":2181,"appendix":[]}],"type":"expression","start":2176,"end":2180},{"terms":[{"type":"constant","name":"operator","start":2183,"end":2191,"appendix":[]}],"type":"expression","start":2182,"end":2190},{"terms":[{"type":"constant","name":"value","start":2193,"end":2198,"appendix":[]}],"type":"expression","start":2192,"end":2197}]}]}],"type":"expression","start":2164,"end":2199},{"type":"return","expression":{"terms":[{"type":"constant","name":"q","start":2213,"end":2214,"appendix":[]}],"type":"expression","start":2213,"end":2213},"start":2200,"end":2214}],"start":2137,"end":2218}},"output":{"name":"Websom.Adapters.Database.SelectQuery","template":[]},"flags":[],"templates":[],"start":2041,"doc":[],"end":2218},{"type":"method","name":"update","value":{"type":"method","parameters":[],"body":{"type":"block","code":[{"type":"return","expression":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.Adapters.Database.UpdateQuery","start":2286,"end":2328,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"this","start":2323,"end":2327,"appendix":[]}],"type":"expression","start":2323,"end":2326}]}]}],"type":"expression","start":2286,"end":2327},"start":2282,"end":2328,"appendix":[]}],"type":"expression","start":2282,"end":2327},"start":2275,"end":2328}],"start":2270,"end":2332}},"output":{"name":"Websom.Adapters.Database.UpdateQuery","template":[]},"flags":[],"templates":[],"start":2219,"doc":[],"end":2332},{"type":"method","name":"executeUpdate","value":{"type":"method","parameters":[{"type":{"name":"Websom.Adapters.Database.UpdateQuery","reference":0,"start":2410,"end":2446,"template":false},"doc":[],"name":"query","optional":[]}],"body":{"type":"block","code":[],"start":2454,"end":2462}},"output":{"name":"Websom.Adapters.Database.UpdateQueryResult","template":[]},"flags":[],"templates":[],"start":2333,"attribute":[{"key":"ForceAsync","value":true}],"doc":[],"end":2462},{"type":"method","name":"delete","value":{"type":"method","parameters":[],"body":{"type":"block","code":[{"type":"return","expression":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.Adapters.Database.DeleteQuery","start":2530,"end":2572,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"this","start":2567,"end":2571,"appendix":[]}],"type":"expression","start":2567,"end":2570}]}]}],"type":"expression","start":2530,"end":2571},"start":2526,"end":2572,"appendix":[]}],"type":"expression","start":2526,"end":2571},"start":2519,"end":2572}],"start":2514,"end":2576}},"output":{"name":"Websom.Adapters.Database.DeleteQuery","template":[]},"flags":[],"templates":[],"start":2463,"doc":[],"end":2576},{"type":"method","name":"executeDelete","value":{"type":"method","parameters":[{"type":{"name":"Websom.Adapters.Database.DeleteQuery","reference":0,"start":2654,"end":2690,"template":false},"doc":[],"name":"query","optional":[]}],"body":{"type":"block","code":[],"start":2698,"end":2706}},"output":{"name":"Websom.Adapters.Database.DeleteQueryResult","template":[]},"flags":[],"templates":[],"start":2577,"attribute":[{"key":"ForceAsync","value":true}],"doc":[],"end":2706},{"type":"method","name":"batch","value":{"type":"method","parameters":[],"body":{"type":"block","code":[{"type":"return","expression":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.Adapters.Database.BatchQuery","start":2772,"end":2813,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"this","start":2808,"end":2812,"appendix":[]}],"type":"expression","start":2808,"end":2811}]}]}],"type":"expression","start":2772,"end":2812},"start":2768,"end":2813,"appendix":[]}],"type":"expression","start":2768,"end":2812},"start":2761,"end":2813}],"start":2756,"end":2817}},"output":{"name":"Websom.Adapters.Database.BatchQuery","template":[]},"flags":[],"templates":[],"start":2707,"doc":[],"end":2817},{"type":"method","name":"registerSchema","value":{"type":"method","parameters":[{"type":{"name":"Websom.Adapters.Database.Schema","reference":0,"start":2859,"end":2890,"template":false},"doc":[],"name":"schema","optional":[]}],"body":{"type":"block","code":[],"start":2899,"end":2907}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":2818,"attribute":[{"key":"ForceAsync","value":true}],"doc":[],"end":2907},{"type":"method","name":"document","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":2977,"end":2983,"template":false},"doc":[],"name":"id","optional":[]}],"body":{"type":"block","code":[],"start":2988,"end":2989}},"output":{"name":"Websom.Adapters.Database.Document","template":[]},"flags":["trust"],"templates":[],"start":2908,"attribute":[{"key":"ForceAsync","value":true}],"doc":[],"end":2989},{"type":"method","attribute":[{"key":"ForceAsync","value":true}],"doc":[],"output":{"name":"array","reference":0,"start":3010,"end":3050,"template":[{"name":"Websom.Adapters.Database.Document","reference":0,"start":3011,"end":3044,"template":false}]},"name":"getAll","value":{"type":"method","parameters":[{"type":{"name":"array","reference":0,"start":3058,"end":3071,"template":[{"name":"string","reference":0,"start":3059,"end":3065,"template":false}]},"doc":[],"name":"id","optional":[]}],"body":{"type":"block","code":[],"start":3076,"end":3077}},"flags":[],"templates":[],"start":2990,"end":3077},{"type":"method","name":"meta","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":3141,"end":3147,"template":false},"doc":[],"name":"key","optional":[]}],"body":{"type":"block","code":[],"start":3153,"end":3154}},"output":{"name":"Websom.Adapters.Database.MetaDocument","template":[]},"flags":[],"templates":[],"start":3078,"attribute":[{"key":"ForceAsync","value":true}],"doc":[],"end":3154},{"type":"method","name":"entity","value":{"type":"method","parameters":[],"body":{"type":"block","code":[{"type":"define","name":"entity","valueType":{"name":"Websom.Entity","reference":0,"start":3192,"end":3205,"template":false},"value":{"terms":[{"type":"constant","name":"null","start":3215,"end":3219,"appendix":[]}],"type":"expression","start":3215,"end":3218},"start":3188,"end":3219},{"type":"native","platform":"javascript","content":"\r\n\t\t\tentity = new this.entityTemplate();\r\n\t\t","start":3220,"end":3289},{"type":"native","platform":"php","content":"\r\n\t\t\t$clsName = $this->entityTemplate;\r\n\t\t\t$entity = new $clsName();\r\n\t\t","start":3290,"end":3380},{"terms":[{"operator":"=","term":{"type":"constant","name":"entity.collection","start":3387,"end":3404,"appendix":[]}},{"type":"constant","name":"this","start":3407,"end":3411,"appendix":[]}],"type":"expression","start":3381,"end":3411},{"type":"return","expression":{"terms":[{"type":"constant","name":"entity","start":3425,"end":3431,"appendix":[]}],"type":"expression","start":3425,"end":3430},"start":3412,"end":3431}],"start":3183,"end":3435}},"output":{"name":"Websom.Entity","template":[]},"flags":[],"templates":[],"start":3155,"doc":[],"end":3435},{"type":"method","name":"getEntity","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":3471,"end":3477,"template":false},"doc":[],"name":"id","optional":[]}],"body":{"type":"block","code":[{"type":"define","name":"doc","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"this.document","start":3497,"end":3514,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"id","start":3511,"end":3513,"appendix":[]}],"type":"expression","start":3511,"end":3512}]}]}],"type":"expression","start":3497,"end":3513},"start":3487,"end":3514},{"type":"if","alternatives":[],"check":{"type":"group","expression":{"terms":[{"operator":"==","term":{"type":"constant","name":"doc","start":3523,"end":3526,"appendix":[]}},{"type":"constant","name":"null","start":3530,"end":3534,"appendix":[]}],"type":"expression","start":3523,"end":3533}},"body":{"type":"block","code":[{"type":"return","expression":{"terms":[{"type":"constant","name":"null","start":3547,"end":3551,"appendix":[]}],"type":"expression","start":3547,"end":3550},"start":3540,"end":3551}],"start":3540,"end":3551},"start":3515,"end":3557},{"type":"return","expression":{"terms":[{"type":"constant","name":"this.makeEntity","start":3565,"end":3585,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"doc","start":3581,"end":3584,"appendix":[]}],"type":"expression","start":3581,"end":3583}]}]}],"type":"expression","start":3565,"end":3584},"start":3558,"end":3585}],"start":3482,"end":3589}},"output":{"name":"Websom.Entity","template":[]},"flags":["trust"],"templates":[],"start":3436,"doc":[],"end":3589}],"templates":[],"start":245,"end":3592}},{"type": "class", "base": "class", "flags": ["header"], "templates": [], "route": "Websom.Adapters.Database.MetaDocument", "name": "MetaDocument", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "id",  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "id", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "incrementNumberField",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "index", "type": {"name": "int", "template": []}},{"optional": "false", "name": "value", "type": {"name": "float", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "setNumberField",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "index", "type": {"name": "int", "template": []}},{"optional": "false", "name": "value", "type": {"name": "float", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "numberField",  "output": {"name": "float", "template": []}, "arguments": [{"optional": "false", "name": "index", "type": {"name": "int", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "setStringField",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "index", "type": {"name": "int", "template": []}},{"optional": "false", "name": "value", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "stringField",  "output": {"name": "string", "template": []}, "arguments": [{"optional": "false", "name": "index", "type": {"name": "int", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "setArrayField",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "index", "type": {"name": "int", "template": []}},{"optional": "false", "name": "value", "type": {"name": "array", "template": [{"name": "primitive", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "arrayField",  "output": {"name": "array", "template": [{"name": "primitive", "template": []}]}, "arguments": [{"optional": "false", "name": "index", "type": {"name": "int", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "update",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": true, "isAsync": true}], "raw": {"type":"class","doc":[],"flags":["header"],"name":"Websom.Adapters.Database.MetaDocument","members":[{"type":"property","name":"id","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":3664,"end":3666,"appendix":[]}],"type":"expression","start":3664,"end":3665}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":3652,"doc":[],"end":3666},{"type":"method","name":"@construct","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":3688,"end":3694,"template":false},"doc":[],"name":"id","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.id","start":3704,"end":3711,"appendix":[]}},{"type":"constant","name":"id","start":3714,"end":3716,"appendix":[]}],"type":"expression","start":3704,"end":3716}],"start":3699,"end":3720}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":3667,"doc":[],"end":3720},{"type":"method","name":"incrementNumberField","value":{"type":"method","parameters":[{"type":{"name":"int","reference":0,"start":3752,"end":3755,"template":false},"doc":[],"name":"index","optional":[]},{"type":{"name":"float","reference":0,"start":3763,"end":3768,"template":false},"doc":[],"name":"value","optional":[]}],"body":{"type":"block","code":[],"start":3776,"end":3782}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":3721,"doc":[],"end":3782},{"type":"method","name":"setNumberField","value":{"type":"method","parameters":[{"type":{"name":"int","reference":0,"start":3808,"end":3811,"template":false},"doc":[],"name":"index","optional":[]},{"type":{"name":"float","reference":0,"start":3819,"end":3824,"template":false},"doc":[],"name":"value","optional":[]}],"body":{"type":"block","code":[],"start":3832,"end":3838}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":3783,"doc":[],"end":3838},{"type":"method","name":"numberField","value":{"type":"method","parameters":[{"type":{"name":"int","reference":0,"start":3862,"end":3865,"template":false},"doc":[],"name":"index","optional":[]}],"body":{"type":"block","code":[],"start":3873,"end":3879}},"output":{"name":"float","template":[]},"flags":[],"templates":[],"start":3839,"doc":[],"end":3879},{"type":"method","name":"setStringField","value":{"type":"method","parameters":[{"type":{"name":"int","reference":0,"start":3905,"end":3908,"template":false},"doc":[],"name":"index","optional":[]},{"type":{"name":"string","reference":0,"start":3916,"end":3922,"template":false},"doc":[],"name":"value","optional":[]}],"body":{"type":"block","code":[],"start":3930,"end":3936}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":3880,"doc":[],"end":3936},{"type":"method","name":"stringField","value":{"type":"method","parameters":[{"type":{"name":"int","reference":0,"start":3961,"end":3964,"template":false},"doc":[],"name":"index","optional":[]}],"body":{"type":"block","code":[],"start":3972,"end":3978}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":3937,"doc":[],"end":3978},{"type":"method","name":"setArrayField","value":{"type":"method","parameters":[{"type":{"name":"int","reference":0,"start":4003,"end":4006,"template":false},"doc":[],"name":"index","optional":[]},{"type":{"name":"array","reference":0,"start":4014,"end":4030,"template":[{"name":"primitive","reference":0,"start":4015,"end":4024,"template":false}]},"doc":[],"name":"value","optional":[]}],"body":{"type":"block","code":[],"start":4038,"end":4044}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":3979,"doc":[],"end":4044},{"type":"method","doc":[],"output":{"name":"array","reference":0,"start":4050,"end":4066,"template":[{"name":"primitive","reference":0,"start":4051,"end":4060,"template":false}]},"name":"arrayField","value":{"type":"method","parameters":[{"type":{"name":"int","reference":0,"start":4078,"end":4081,"template":false},"doc":[],"name":"index","optional":[]}],"body":{"type":"block","code":[],"start":4089,"end":4095}},"flags":[],"templates":[],"start":4045,"end":4095},{"type":"method","name":"update","value":{"type":"method","parameters":[],"body":{"type":"block","code":[],"start":4130,"end":4136}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":4096,"attribute":[{"key":"ForceAsync","value":true}],"doc":[],"end":4136}],"templates":[],"start":3593,"end":4139}},{"type": "class", "base": "class", "flags": ["header"], "templates": [], "route": "Websom.Adapters.Database.FieldType", "name": "FieldType", "inherits": ["everything"], "members": [{"type": "property", "binding": "fixed", "name": "string",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "fixed", "name": "integer",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "fixed", "name": "float",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "fixed", "name": "time",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "fixed", "name": "boolean",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "fixed", "name": "reference",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "fixed", "name": "geopoint",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "fixed", "name": "array",  "output": {"name": "string", "template": []}}], "raw": {"type":"class","doc":[],"flags":["header"],"name":"Websom.Adapters.Database.FieldType","members":[{"type":"property","name":"string","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"string","start":4218,"end":4226,"appendix":[]}],"type":"expression","start":4218,"end":4225}},"output":{"name":"string","template":[]},"flags":["fixed"],"templates":[],"start":4196,"doc":[],"end":4226},{"type":"property","name":"integer","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"integer","start":4253,"end":4262,"appendix":[]}],"type":"expression","start":4253,"end":4261}},"output":{"name":"string","template":[]},"flags":["fixed"],"templates":[],"start":4227,"doc":[],"end":4262},{"type":"property","name":"float","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"float","start":4287,"end":4294,"appendix":[]}],"type":"expression","start":4287,"end":4293}},"output":{"name":"string","template":[]},"flags":["fixed"],"templates":[],"start":4263,"doc":[],"end":4294},{"type":"property","name":"time","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"time","start":4318,"end":4324,"appendix":[]}],"type":"expression","start":4318,"end":4323}},"output":{"name":"string","template":[]},"flags":["fixed"],"templates":[],"start":4295,"doc":[],"end":4324},{"type":"property","name":"boolean","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"boolean","start":4351,"end":4360,"appendix":[]}],"type":"expression","start":4351,"end":4359}},"output":{"name":"string","template":[]},"flags":["fixed"],"templates":[],"start":4325,"doc":[],"end":4360},{"type":"property","name":"reference","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"reference","start":4389,"end":4400,"appendix":[]}],"type":"expression","start":4389,"end":4399}},"output":{"name":"string","template":[]},"flags":["fixed"],"templates":[],"start":4361,"doc":[],"end":4400},{"type":"property","name":"geopoint","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"geopoint","start":4428,"end":4438,"appendix":[]}],"type":"expression","start":4428,"end":4437}},"output":{"name":"string","template":[]},"flags":["fixed"],"templates":[],"start":4401,"doc":[],"end":4438},{"type":"property","name":"array","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"array","start":4463,"end":4470,"appendix":[]}],"type":"expression","start":4463,"end":4469}},"output":{"name":"string","template":[]},"flags":["fixed"],"templates":[],"start":4439,"doc":[],"end":4470}],"templates":[],"start":4140,"end":4473}},{"type": "class", "base": "class", "flags": ["header"], "templates": [], "route": "Websom.Adapters.Database.Field", "name": "Field", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "name",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "type",  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "name", "type": {"name": "string", "template": []}},{"optional": "false", "name": "type", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false}], "raw": {"type":"class","doc":[],"flags":["header"],"name":"Websom.Adapters.Database.Field","members":[{"type":"property","name":"name","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":4540,"end":4542,"appendix":[]}],"type":"expression","start":4540,"end":4541}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":4526,"doc":[],"end":4542},{"type":"property","name":"type","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":4560,"end":4562,"appendix":[]}],"type":"expression","start":4560,"end":4561}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":4543,"doc":[],"end":4562},{"type":"method","name":"@construct","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":4584,"end":4590,"template":false},"doc":[],"name":"name","optional":[]},{"type":{"name":"string","reference":0,"start":4597,"end":4603,"template":false},"doc":[],"name":"type","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.name","start":4615,"end":4624,"appendix":[]}},{"type":"constant","name":"name","start":4627,"end":4631,"appendix":[]}],"type":"expression","start":4615,"end":4631},{"terms":[{"operator":"=","term":{"type":"constant","name":"this.type","start":4636,"end":4645,"appendix":[]}},{"type":"constant","name":"type","start":4648,"end":4652,"appendix":[]}],"type":"expression","start":4632,"end":4652}],"start":4610,"end":4656}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":4563,"doc":[],"end":4656}],"templates":[],"start":4474,"end":4659}},{"type": "class", "base": "class", "flags": ["header"], "templates": [], "route": "Websom.Adapters.Database.Index", "name": "Index", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "fields",  "output": {"name": "array", "template": [{"name": "Websom.Adapters.Database.Field", "template": []}]}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false}], "raw": {"type":"class","doc":[],"flags":["header"],"name":"Websom.Adapters.Database.Index","members":[{"type":"property","doc":[],"output":{"name":"array","reference":0,"start":9783,"end":9820,"template":[{"name":"Websom.Adapters.Database.Field","reference":0,"start":9784,"end":9814,"template":false}]},"name":"fields","value":{"type":"property","value":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"array","start":9834,"end":9873,"appendix":[{"type":"call","expression":[]}],"template":[{"name":"Websom.Adapters.Database.Field","reference":0,"start":9835,"end":9865,"template":false}]}],"type":"expression","start":9834,"end":9872},"start":9830,"end":9873,"appendix":[]}],"type":"expression","start":9830,"end":9872}},"flags":[],"templates":[],"start":9783,"end":9873},{"type":"method","name":"@construct","value":{"type":"method","parameters":[],"body":{"type":"block","code":[],"start":9897,"end":9903}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":9874,"doc":[],"end":9903}],"templates":[],"start":9731,"end":9906}},{"type": "class", "base": "class", "flags": ["header"], "templates": [], "route": "Websom.Adapters.Database.Schema", "name": "Schema", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "collection",  "output": {"name": "Websom.Adapters.Database.Collection", "template": []}},{"type": "property", "binding": "bound", "name": "fields",  "output": {"name": "array", "template": [{"name": "Websom.Adapters.Database.Field", "template": []}]}},{"type": "property", "binding": "bound", "name": "indexes",  "output": {"name": "array", "template": [{"name": "Websom.Adapters.Database.Index", "template": []}]}},{"type": "property", "binding": "bound", "name": "calculators",  "output": {"name": "array", "template": [{"name": "Websom.Calculator", "template": []}]}},{"type": "method", "binding": "bound", "name": "@construct", "flags": ["trust"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "collection", "type": {"name": "Websom.Adapters.Database.Collection", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "getField",  "output": {"name": "Websom.Adapters.Database.Field", "template": []}, "arguments": [{"optional": "false", "name": "name", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "field",  "output": {"name": "Websom.Adapters.Database.Schema", "template": []}, "arguments": [{"optional": "false", "name": "name", "type": {"name": "string", "template": []}},{"optional": "false", "name": "type", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "calc",  "output": {"name": "Websom.Adapters.Database.Schema", "template": []}, "arguments": [{"optional": "false", "name": "getterName", "type": {"name": "string", "template": []}},{"optional": "false", "name": "calculator", "type": {"name": "Websom.Calculator", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "index",  "output": {"name": "Websom.Adapters.Database.Schema", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "register",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": true, "isAsync": true}], "raw": {"type":"class","doc":[],"flags":["header"],"name":"Websom.Adapters.Database.Schema","members":[{"type":"property","name":"collection","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":10009,"end":10013,"appendix":[]}],"type":"expression","start":10009,"end":10012}},"output":{"name":"Websom.Adapters.Database.Collection","template":[]},"flags":[],"templates":[],"start":9960,"doc":[],"end":10013},{"type":"property","doc":[],"output":{"name":"array","reference":0,"start":10019,"end":10056,"template":[{"name":"Websom.Adapters.Database.Field","reference":0,"start":10020,"end":10050,"template":false}]},"name":"fields","value":{"type":"property","value":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"array","start":10070,"end":10109,"appendix":[{"type":"call","expression":[]}],"template":[{"name":"Websom.Adapters.Database.Field","reference":0,"start":10071,"end":10101,"template":false}]}],"type":"expression","start":10070,"end":10108},"start":10066,"end":10109,"appendix":[]}],"type":"expression","start":10066,"end":10108}},"flags":[],"templates":[],"start":10014,"end":10109},{"type":"property","doc":[],"output":{"name":"array","reference":0,"start":10113,"end":10150,"template":[{"name":"Websom.Adapters.Database.Index","reference":0,"start":10114,"end":10144,"template":false}]},"name":"indexes","value":{"type":"property","value":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"array","start":10165,"end":10204,"appendix":[{"type":"call","expression":[]}],"template":[{"name":"Websom.Adapters.Database.Index","reference":0,"start":10166,"end":10196,"template":false}]}],"type":"expression","start":10165,"end":10203},"start":10161,"end":10204,"appendix":[]}],"type":"expression","start":10161,"end":10203}},"flags":[],"templates":[],"start":10110,"end":10204},{"type":"property","doc":[],"output":{"name":"array","reference":0,"start":10210,"end":10234,"template":[{"name":"Websom.Calculator","reference":0,"start":10211,"end":10228,"template":false}]},"name":"calculators","value":{"type":"property","value":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"array","start":10253,"end":10279,"appendix":[{"type":"call","expression":[]}],"template":[{"name":"Websom.Calculator","reference":0,"start":10254,"end":10271,"template":false}]}],"type":"expression","start":10253,"end":10278},"start":10249,"end":10279,"appendix":[]}],"type":"expression","start":10249,"end":10278}},"flags":[],"templates":[],"start":10205,"end":10279},{"type":"method","name":"@construct","value":{"type":"method","parameters":[{"type":{"name":"Websom.Adapters.Database.Collection","reference":0,"start":10307,"end":10342,"template":false},"doc":[],"name":"collection","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.collection","start":10360,"end":10375,"appendix":[]}},{"type":"constant","name":"collection","start":10378,"end":10388,"appendix":[]}],"type":"expression","start":10360,"end":10388}],"start":10355,"end":10392}},"output":{"name":"void","template":[]},"flags":["trust"],"templates":[],"start":10280,"doc":[],"end":10392},{"type":"method","name":"getField","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":10438,"end":10444,"template":false},"doc":[],"name":"name","optional":[]}],"body":{"type":"block","code":[{"type":"return","expression":{"terms":[{"type":"constant","name":"this.fields.find","start":10463,"end":10557,"appendix":[{"type":"call","expression":[{"terms":[{"type":"function","output":{"name":"bool","reference":0,"start":10480,"end":10484,"template":false},"parameters":[{"type":{"name":"Websom.Adapters.Database.Field","reference":0,"start":10486,"end":10516,"template":false},"doc":[],"name":"f","optional":[]}],"body":{"type":"block","code":[{"type":"return","expression":{"terms":[{"operator":"==","term":{"type":"constant","name":"f.name","start":10536,"end":10542,"appendix":[]}},{"type":"constant","name":"name","start":10546,"end":10550,"appendix":[]}],"type":"expression","start":10536,"end":10549},"start":10529,"end":10550}],"start":10523,"end":10555}}],"type":"expression","start":10480,"end":10555}]}]}],"type":"expression","start":10463,"end":10556},"start":10456,"end":10557}],"start":10451,"end":10561}},"output":{"name":"Websom.Adapters.Database.Field","template":[]},"flags":[],"templates":[],"start":10393,"doc":[],"end":10561},{"type":"method","name":"field","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":10605,"end":10611,"template":false},"doc":[],"name":"name","optional":[]},{"type":{"name":"string","reference":0,"start":10618,"end":10624,"template":false},"doc":[],"name":"type","optional":[]}],"body":{"type":"block","code":[{"type":"define","name":"fields","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"this.fields","start":10649,"end":10660,"appendix":[]}],"type":"expression","start":10649,"end":10659},"start":10636,"end":10660},{"type":"if","alternatives":[],"check":{"type":"group","expression":{"terms":[{"operator":">","term":{"type":"constant","name":"this.indexes.length","start":10671,"end":10690,"appendix":[]}},{"type":"literal","literalType":"number","value":0,"integer":true,"start":10693,"end":10694,"appendix":[]}],"type":"expression","start":10671,"end":10693}},"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"fields","start":10700,"end":10706,"appendix":[]}},{"type":"constant","name":"this.indexes","start":10709,"end":10753,"appendix":[{"type":"index","expression":{"terms":[{"operator":"-","term":{"type":"constant","name":"this.indexes.length","start":10722,"end":10741,"appendix":[]}},{"type":"literal","literalType":"number","value":1,"integer":true,"start":10744,"end":10745,"appendix":[]}],"type":"expression","start":10722,"end":10744}},{"type":"dot","name":"fields"}]}],"type":"expression","start":10700,"end":10753}],"start":10700,"end":10753},"start":10661,"end":10759},{"terms":[{"type":"constant","name":"fields.push","start":10760,"end":10819,"appendix":[{"type":"call","expression":[{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.Adapters.Database.Field","start":10776,"end":10818,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"name","start":10807,"end":10811,"appendix":[]}],"type":"expression","start":10807,"end":10810},{"terms":[{"type":"constant","name":"type","start":10813,"end":10817,"appendix":[]}],"type":"expression","start":10812,"end":10816}]}]}],"type":"expression","start":10776,"end":10817},"start":10772,"end":10818,"appendix":[]}],"type":"expression","start":10772,"end":10817}]}]}],"type":"expression","start":10760,"end":10819},{"type":"return","expression":{"terms":[{"type":"constant","name":"this","start":10833,"end":10837,"appendix":[]}],"type":"expression","start":10833,"end":10836},"start":10820,"end":10837}],"start":10631,"end":10841}},"output":{"name":"Websom.Adapters.Database.Schema","template":[]},"flags":[],"templates":[],"start":10562,"doc":[],"end":10841},{"type":"method","name":"calc","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":10884,"end":10890,"template":false},"doc":[],"name":"getterName","optional":[]},{"type":{"name":"Websom.Calculator","reference":0,"start":10903,"end":10920,"template":false},"doc":[],"name":"calculator","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"calculator.getterName","start":10938,"end":10959,"appendix":[]}},{"type":"constant","name":"getterName","start":10962,"end":10972,"appendix":[]}],"type":"expression","start":10938,"end":10972},{"terms":[{"operator":"=","term":{"type":"constant","name":"calculator.collection","start":10977,"end":10998,"appendix":[]}},{"type":"constant","name":"this.collection","start":11001,"end":11016,"appendix":[]}],"type":"expression","start":10973,"end":11016},{"terms":[{"type":"constant","name":"this.calculators.push","start":11021,"end":11054,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"calculator","start":11043,"end":11053,"appendix":[]}],"type":"expression","start":11043,"end":11052}]}]}],"type":"expression","start":11017,"end":11054},{"type":"return","expression":{"terms":[{"type":"constant","name":"this","start":11068,"end":11072,"appendix":[]}],"type":"expression","start":11068,"end":11071},"start":11055,"end":11072}],"start":10933,"end":11076}},"output":{"name":"Websom.Adapters.Database.Schema","template":[]},"flags":[],"templates":[],"start":10842,"doc":[],"end":11076},{"type":"method","name":"index","value":{"type":"method","parameters":[],"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"this.indexes.push","start":11127,"end":11182,"appendix":[{"type":"call","expression":[{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.Adapters.Database.Index","start":11149,"end":11181,"appendix":[{"type":"call","expression":[]}]}],"type":"expression","start":11149,"end":11180},"start":11145,"end":11181,"appendix":[]}],"type":"expression","start":11145,"end":11180}]}]}],"type":"expression","start":11127,"end":11182},{"type":"return","expression":{"terms":[{"type":"constant","name":"this","start":11196,"end":11200,"appendix":[]}],"type":"expression","start":11196,"end":11199},"start":11183,"end":11200}],"start":11122,"end":11204}},"output":{"name":"Websom.Adapters.Database.Schema","template":[]},"flags":[],"templates":[],"start":11077,"doc":[],"end":11204},{"type":"method","name":"register","value":{"type":"method","parameters":[],"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"this.collection.registerSchema","start":11231,"end":11267,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"this","start":11262,"end":11266,"appendix":[]}],"type":"expression","start":11262,"end":11265}]}]}],"type":"expression","start":11231,"end":11267}],"start":11226,"end":11271}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":11205,"doc":[],"end":11271}],"templates":[],"start":9907,"end":11274}},{"type": "class", "base": "class", "flags": ["header"], "templates": [], "route": "Websom.Adapters.Database.InsertQuery", "name": "InsertQuery", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "collection",  "output": {"name": "Websom.Adapters.Database.Collection", "template": []}},{"type": "property", "binding": "bound", "name": "sets",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "method", "binding": "bound", "name": "@construct", "flags": ["trust"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "collection", "type": {"name": "Websom.Adapters.Database.Collection", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "set",  "output": {"name": "Websom.Adapters.Database.InsertQuery", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "string", "template": []}},{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "run",  "output": {"name": "Websom.Adapters.Database.InsertQueryResult", "template": []}, "arguments": [], "isImplicitAsync": true, "isAsync": true}], "raw": {"type":"class","doc":[],"flags":["header"],"name":"Websom.Adapters.Database.InsertQuery","members":[{"type":"property","name":"collection","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":11382,"end":11386,"appendix":[]}],"type":"expression","start":11382,"end":11385}},"output":{"name":"Websom.Adapters.Database.Collection","template":[]},"flags":[],"templates":[],"start":11333,"doc":[],"end":11386},{"type":"property","name":"sets","value":{"type":"property","value":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"map","start":11405,"end":11410,"appendix":[{"type":"call","expression":[]}]}],"type":"expression","start":11405,"end":11409},"start":11401,"end":11410,"appendix":[]}],"type":"expression","start":11401,"end":11409}},"output":{"name":"map","template":[]},"flags":[],"templates":[],"start":11387,"doc":[],"end":11410},{"type":"method","name":"@construct","value":{"type":"method","parameters":[{"type":{"name":"Websom.Adapters.Database.Collection","reference":0,"start":11438,"end":11473,"template":false},"doc":[],"name":"collection","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.collection","start":11491,"end":11506,"appendix":[]}},{"type":"constant","name":"collection","start":11509,"end":11519,"appendix":[]}],"type":"expression","start":11491,"end":11519}],"start":11486,"end":11523}},"output":{"name":"void","template":[]},"flags":["trust"],"templates":[],"start":11411,"doc":[],"end":11523},{"type":"method","name":"set","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":11570,"end":11576,"template":false},"doc":[],"name":"field","optional":[]},{"type":{"name":"primitive","reference":0,"start":11584,"end":11593,"template":false},"doc":[],"name":"value","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.sets","start":11606,"end":11622,"appendix":[{"type":"index","expression":{"terms":[{"type":"constant","name":"field","start":11616,"end":11621,"appendix":[]}],"type":"expression","start":11616,"end":11620}}]}},{"type":"constant","name":"value","start":11625,"end":11630,"appendix":[]}],"type":"expression","start":11606,"end":11630},{"type":"return","expression":{"terms":[{"type":"constant","name":"this","start":11644,"end":11648,"appendix":[]}],"type":"expression","start":11644,"end":11647},"start":11631,"end":11648}],"start":11601,"end":11652}},"output":{"name":"Websom.Adapters.Database.InsertQuery","template":[]},"flags":[],"templates":[],"start":11524,"doc":[],"end":11652},{"type":"method","name":"run","value":{"type":"method","parameters":[],"body":{"type":"block","code":[{"type":"return","expression":{"terms":[{"type":"constant","name":"this.collection.executeInsert","start":11719,"end":11754,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"this","start":11749,"end":11753,"appendix":[]}],"type":"expression","start":11749,"end":11752}]}]}],"type":"expression","start":11719,"end":11753},"start":11712,"end":11754}],"start":11707,"end":11758}},"output":{"name":"Websom.Adapters.Database.InsertQueryResult","template":[]},"flags":[],"templates":[],"start":11653,"doc":[],"end":11758}],"templates":[],"start":11275,"end":11761}},{"type": "class", "base": "class", "flags": ["header"], "templates": [], "route": "Websom.Adapters.Database.InsertQueryResult", "name": "InsertQueryResult", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "success",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "message",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "id",  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "success", "type": {"name": "bool", "template": []}},{"optional": "false", "name": "message", "type": {"name": "string", "template": []}},{"optional": "false", "name": "id", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false}], "raw": {"type":"class","doc":[],"flags":["header"],"name":"Websom.Adapters.Database.InsertQueryResult","members":[{"type":"property","name":"success","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"boolean","value":false,"start":11841,"end":11846,"appendix":[]}],"type":"expression","start":11841,"end":11845}},"output":{"name":"bool","template":[]},"flags":[],"templates":[],"start":11826,"doc":[],"end":11846},{"type":"property","name":"message","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":11867,"end":11869,"appendix":[]}],"type":"expression","start":11867,"end":11868}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":11847,"doc":[],"end":11869},{"type":"property","name":"id","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":11885,"end":11887,"appendix":[]}],"type":"expression","start":11885,"end":11886}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":11870,"doc":[],"end":11887},{"type":"method","name":"@construct","value":{"type":"method","parameters":[{"type":{"name":"bool","reference":0,"start":11909,"end":11913,"template":false},"doc":[],"name":"success","optional":[]},{"type":{"name":"string","reference":0,"start":11923,"end":11929,"template":false},"doc":[],"name":"message","optional":[]},{"type":{"name":"string","reference":0,"start":11939,"end":11945,"template":false},"doc":[],"name":"id","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.success","start":11955,"end":11967,"appendix":[]}},{"type":"constant","name":"success","start":11970,"end":11977,"appendix":[]}],"type":"expression","start":11955,"end":11977},{"terms":[{"operator":"=","term":{"type":"constant","name":"this.message","start":11982,"end":11994,"appendix":[]}},{"type":"constant","name":"message","start":11997,"end":12004,"appendix":[]}],"type":"expression","start":11978,"end":12004},{"terms":[{"operator":"=","term":{"type":"constant","name":"this.id","start":12009,"end":12016,"appendix":[]}},{"type":"constant","name":"id","start":12019,"end":12021,"appendix":[]}],"type":"expression","start":12005,"end":12021}],"start":11950,"end":12025}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":11888,"doc":[],"end":12025}],"templates":[],"start":11762,"end":12028}},{"type": "class", "base": "class", "flags": ["header"], "templates": [], "route": "Websom.Adapters.Database.SelectCondition", "name": "SelectCondition", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "field",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "operator",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "value",  "output": {"name": "primitive", "template": []}},{"type": "property", "binding": "bound", "name": "type",  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "string", "template": []}},{"optional": "false", "name": "operator", "type": {"name": "string", "template": []}},{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}},{"optional": "false", "name": "type", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false}], "raw": {"type":"class","doc":[],"flags":["header"],"name":"Websom.Adapters.Database.SelectCondition","members":[{"type":"property","name":"field","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":12106,"end":12108,"appendix":[]}],"type":"expression","start":12106,"end":12107}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":12091,"doc":[],"end":12108},{"type":"property","name":"operator","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":12130,"end":12132,"appendix":[]}],"type":"expression","start":12130,"end":12131}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":12109,"doc":[],"end":12132},{"type":"property","name":"value","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":12154,"end":12158,"appendix":[]}],"type":"expression","start":12154,"end":12157}},"output":{"name":"primitive","template":[]},"flags":[],"templates":[],"start":12133,"doc":[],"end":12158},{"type":"property","name":"type","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":12176,"end":12178,"appendix":[]}],"type":"expression","start":12176,"end":12177}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":12159,"doc":[],"end":12178},{"type":"method","name":"@construct","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":12200,"end":12206,"template":false},"doc":[],"name":"field","optional":[]},{"type":{"name":"string","reference":0,"start":12214,"end":12220,"template":false},"doc":[],"name":"operator","optional":[]},{"type":{"name":"primitive","reference":0,"start":12231,"end":12240,"template":false},"doc":[],"name":"value","optional":[]},{"type":{"name":"string","reference":0,"start":12248,"end":12254,"template":false},"doc":[],"name":"type","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.field","start":12266,"end":12276,"appendix":[]}},{"type":"constant","name":"field","start":12279,"end":12284,"appendix":[]}],"type":"expression","start":12266,"end":12284},{"terms":[{"operator":"=","term":{"type":"constant","name":"this.operator","start":12289,"end":12302,"appendix":[]}},{"type":"constant","name":"operator","start":12305,"end":12313,"appendix":[]}],"type":"expression","start":12285,"end":12313},{"terms":[{"operator":"=","term":{"type":"constant","name":"this.value","start":12318,"end":12328,"appendix":[]}},{"type":"constant","name":"value","start":12331,"end":12336,"appendix":[]}],"type":"expression","start":12314,"end":12336},{"terms":[{"operator":"=","term":{"type":"constant","name":"this.type","start":12341,"end":12350,"appendix":[]}},{"type":"constant","name":"type","start":12353,"end":12357,"appendix":[]}],"type":"expression","start":12337,"end":12357}],"start":12261,"end":12361}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":12179,"doc":[],"end":12361}],"templates":[],"start":12029,"end":12364}},{"type": "class", "base": "class", "flags": ["header"], "templates": [], "route": "Websom.Adapters.Database.SelectQuery", "name": "SelectQuery", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "conditions",  "output": {"name": "array", "template": [{"name": "Websom.Adapters.Database.SelectCondition", "template": []}]}},{"type": "property", "binding": "bound", "name": "collection",  "output": {"name": "Websom.Adapters.Database.Collection", "template": []}},{"type": "property", "binding": "bound", "name": "documentLimit",  "output": {"name": "int", "template": []}},{"type": "property", "binding": "bound", "name": "documentStart",  "output": {"name": "int", "template": []}},{"type": "method", "binding": "bound", "name": "@construct", "flags": ["trust"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "collection", "type": {"name": "Websom.Adapters.Database.Collection", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "where",  "output": {"name": "Websom.Adapters.Database.SelectQuery", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "string", "template": []}},{"optional": "false", "name": "operator", "type": {"name": "string", "template": []}},{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "orderBy",  "output": {"name": "Websom.Adapters.Database.SelectQuery", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "string", "template": []}},{"optional": "false", "name": "order", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "limit",  "output": {"name": "Websom.Adapters.Database.SelectQuery", "template": []}, "arguments": [{"optional": "false", "name": "limit", "type": {"name": "int", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "startOffset",  "output": {"name": "Websom.Adapters.Database.SelectQuery", "template": []}, "arguments": [{"optional": "false", "name": "amount", "type": {"name": "int", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "get",  "output": {"name": "Websom.Adapters.Database.SelectQueryResult", "template": []}, "arguments": [], "isImplicitAsync": true, "isAsync": true}], "raw": {"type":"class","doc":[],"flags":["header"],"name":"Websom.Adapters.Database.SelectQuery","members":[{"type":"property","doc":[],"output":{"name":"array","reference":0,"start":12423,"end":12470,"template":[{"name":"Websom.Adapters.Database.SelectCondition","reference":0,"start":12424,"end":12464,"template":false}]},"name":"conditions","value":{"type":"property","value":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"array","start":12488,"end":12537,"appendix":[{"type":"call","expression":[]}],"template":[{"name":"Websom.Adapters.Database.SelectCondition","reference":0,"start":12489,"end":12529,"template":false}]}],"type":"expression","start":12488,"end":12536},"start":12484,"end":12537,"appendix":[]}],"type":"expression","start":12484,"end":12536}},"flags":[],"templates":[],"start":12423,"end":12537},{"type":"property","name":"collection","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":12590,"end":12594,"appendix":[]}],"type":"expression","start":12590,"end":12593}},"output":{"name":"Websom.Adapters.Database.Collection","template":[]},"flags":[],"templates":[],"start":12538,"doc":[],"end":12594},{"type":"property","name":"documentLimit","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"number","value":10,"integer":true,"start":12620,"end":12622,"appendix":[]}],"type":"expression","start":12620,"end":12621}},"output":{"name":"int","template":[]},"flags":[],"templates":[],"start":12595,"doc":[],"end":12622},{"type":"property","name":"documentStart","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"number","value":0,"integer":true,"start":12646,"end":12647,"appendix":[]}],"type":"expression","start":12646,"end":12646}},"output":{"name":"int","template":[]},"flags":[],"templates":[],"start":12623,"doc":[],"end":12647},{"type":"method","name":"@construct","value":{"type":"method","parameters":[{"type":{"name":"Websom.Adapters.Database.Collection","reference":0,"start":12676,"end":12711,"template":false},"doc":[],"name":"collection","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.collection","start":12729,"end":12744,"appendix":[]}},{"type":"constant","name":"collection","start":12747,"end":12757,"appendix":[]}],"type":"expression","start":12729,"end":12757}],"start":12724,"end":12761}},"output":{"name":"void","template":[]},"flags":["trust"],"templates":[],"start":12648,"doc":[],"end":12761},{"type":"method","name":"where","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":12810,"end":12816,"template":false},"doc":[],"name":"field","optional":[]},{"type":{"name":"string","reference":0,"start":12824,"end":12830,"template":false},"doc":[],"name":"operator","optional":[]},{"type":{"name":"primitive","reference":0,"start":12841,"end":12850,"template":false},"doc":[],"name":"value","optional":[]}],"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"this.conditions.push","start":12863,"end":12962,"appendix":[{"type":"call","expression":[{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.Adapters.Database.SelectCondition","start":12888,"end":12961,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"field","start":12929,"end":12934,"appendix":[]}],"type":"expression","start":12929,"end":12933},{"terms":[{"type":"constant","name":"operator","start":12936,"end":12944,"appendix":[]}],"type":"expression","start":12935,"end":12943},{"terms":[{"type":"constant","name":"value","start":12946,"end":12951,"appendix":[]}],"type":"expression","start":12945,"end":12950},{"terms":[{"type":"literal","literalType":"string","value":"where","start":12953,"end":12960,"appendix":[]}],"type":"expression","start":12952,"end":12959}]}]}],"type":"expression","start":12888,"end":12960},"start":12884,"end":12961,"appendix":[]}],"type":"expression","start":12884,"end":12960}]}]}],"type":"expression","start":12863,"end":12962},{"type":"return","expression":{"terms":[{"type":"constant","name":"this","start":12976,"end":12980,"appendix":[]}],"type":"expression","start":12976,"end":12979},"start":12963,"end":12980}],"start":12858,"end":12984}},"output":{"name":"Websom.Adapters.Database.SelectQuery","template":[]},"flags":[],"templates":[],"start":12762,"doc":[],"end":12984},{"type":"method","name":"orderBy","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":13035,"end":13041,"template":false},"doc":[],"name":"field","optional":[]},{"type":{"name":"string","reference":0,"start":13049,"end":13055,"template":false},"doc":[],"name":"order","optional":[]}],"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"this.conditions.push","start":13068,"end":13161,"appendix":[{"type":"call","expression":[{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.Adapters.Database.SelectCondition","start":13093,"end":13160,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"field","start":13134,"end":13139,"appendix":[]}],"type":"expression","start":13134,"end":13138},{"terms":[{"type":"constant","name":"order","start":13141,"end":13146,"appendix":[]}],"type":"expression","start":13140,"end":13145},{"terms":[{"type":"literal","literalType":"string","value":"","start":13148,"end":13150,"appendix":[]}],"type":"expression","start":13147,"end":13149},{"terms":[{"type":"literal","literalType":"string","value":"order","start":13152,"end":13159,"appendix":[]}],"type":"expression","start":13151,"end":13158}]}]}],"type":"expression","start":13093,"end":13159},"start":13089,"end":13160,"appendix":[]}],"type":"expression","start":13089,"end":13159}]}]}],"type":"expression","start":13068,"end":13161},{"type":"return","expression":{"terms":[{"type":"constant","name":"this","start":13175,"end":13179,"appendix":[]}],"type":"expression","start":13175,"end":13178},"start":13162,"end":13179}],"start":13063,"end":13183}},"output":{"name":"Websom.Adapters.Database.SelectQuery","template":[]},"flags":[],"templates":[],"start":12985,"doc":[],"end":13183},{"type":"method","name":"limit","value":{"type":"method","parameters":[{"type":{"name":"int","reference":0,"start":13232,"end":13235,"template":false},"doc":[],"name":"limit","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.documentLimit","start":13248,"end":13266,"appendix":[]}},{"type":"constant","name":"limit","start":13269,"end":13274,"appendix":[]}],"type":"expression","start":13248,"end":13274},{"type":"return","expression":{"terms":[{"type":"constant","name":"this","start":13288,"end":13292,"appendix":[]}],"type":"expression","start":13288,"end":13291},"start":13275,"end":13292}],"start":13243,"end":13296}},"output":{"name":"Websom.Adapters.Database.SelectQuery","template":[]},"flags":[],"templates":[],"start":13184,"doc":[],"end":13296},{"type":"method","name":"startOffset","value":{"type":"method","parameters":[{"type":{"name":"int","reference":0,"start":13351,"end":13354,"template":false},"doc":[],"name":"amount","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.documentStart","start":13368,"end":13386,"appendix":[]}},{"type":"constant","name":"amount","start":13389,"end":13395,"appendix":[]}],"type":"expression","start":13368,"end":13395},{"type":"return","expression":{"terms":[{"type":"constant","name":"this","start":13409,"end":13413,"appendix":[]}],"type":"expression","start":13409,"end":13412},"start":13396,"end":13413}],"start":13363,"end":13417}},"output":{"name":"Websom.Adapters.Database.SelectQuery","template":[]},"flags":[],"templates":[],"start":13297,"doc":[],"end":13417},{"type":"method","name":"get","value":{"type":"method","parameters":[],"body":{"type":"block","code":[{"type":"return","expression":{"terms":[{"type":"constant","name":"this.collection.executeSelect","start":13484,"end":13519,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"this","start":13514,"end":13518,"appendix":[]}],"type":"expression","start":13514,"end":13517}]}]}],"type":"expression","start":13484,"end":13518},"start":13477,"end":13519}],"start":13472,"end":13523}},"output":{"name":"Websom.Adapters.Database.SelectQueryResult","template":[]},"flags":[],"templates":[],"start":13418,"doc":[],"end":13523}],"templates":[],"start":12365,"end":13526}},{"type": "class", "base": "class", "flags": ["header"], "templates": [], "route": "Websom.Adapters.Database.SelectQueryResult", "name": "SelectQueryResult", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "success",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "message",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "documents",  "output": {"name": "array", "template": [{"name": "Websom.Adapters.Database.Document", "template": []}]}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "success", "type": {"name": "bool", "template": []}},{"optional": "false", "name": "message", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false}], "raw": {"type":"class","doc":[],"flags":["header"],"name":"Websom.Adapters.Database.SelectQueryResult","members":[{"type":"property","name":"success","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"boolean","value":false,"start":13606,"end":13611,"appendix":[]}],"type":"expression","start":13606,"end":13610}},"output":{"name":"bool","template":[]},"flags":[],"templates":[],"start":13591,"doc":[],"end":13611},{"type":"property","name":"message","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":13632,"end":13634,"appendix":[]}],"type":"expression","start":13632,"end":13633}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":13612,"doc":[],"end":13634},{"type":"property","doc":[],"output":{"name":"array","reference":0,"start":13638,"end":13678,"template":[{"name":"Websom.Adapters.Database.Document","reference":0,"start":13639,"end":13672,"template":false}]},"name":"documents","value":{"type":"property","value":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"array","start":13695,"end":13737,"appendix":[{"type":"call","expression":[]}],"template":[{"name":"Websom.Adapters.Database.Document","reference":0,"start":13696,"end":13729,"template":false}]}],"type":"expression","start":13695,"end":13736},"start":13691,"end":13737,"appendix":[]}],"type":"expression","start":13691,"end":13736}},"flags":[],"templates":[],"start":13635,"end":13737},{"type":"method","name":"@construct","value":{"type":"method","parameters":[{"type":{"name":"bool","reference":0,"start":13759,"end":13763,"template":false},"doc":[],"name":"success","optional":[]},{"type":{"name":"string","reference":0,"start":13773,"end":13779,"template":false},"doc":[],"name":"message","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.success","start":13794,"end":13806,"appendix":[]}},{"type":"constant","name":"success","start":13809,"end":13816,"appendix":[]}],"type":"expression","start":13794,"end":13816},{"terms":[{"operator":"=","term":{"type":"constant","name":"this.message","start":13821,"end":13833,"appendix":[]}},{"type":"constant","name":"message","start":13836,"end":13843,"appendix":[]}],"type":"expression","start":13817,"end":13843}],"start":13789,"end":13847}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":13738,"doc":[],"end":13847}],"templates":[],"start":13527,"end":13850}},{"type": "class", "base": "class", "flags": ["header","header"], "templates": [], "route": "Websom.Adapters.Database.UpdateQuery", "name": "UpdateQuery", "inherits": ["Websom.Adapters.Database.SelectQuery","everything"], "members": [{"type": "property", "binding": "bound", "name": "sets",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "increments",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "collection",  "output": {"name": "Websom.Adapters.Database.Collection", "template": []}},{"type": "method", "binding": "bound", "name": "@construct", "flags": ["trust", "override"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "collection", "type": {"name": "Websom.Adapters.Database.Collection", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "set",  "output": {"name": "Websom.Adapters.Database.UpdateQuery", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "string", "template": []}},{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "increment",  "output": {"name": "Websom.Adapters.Database.UpdateQuery", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "string", "template": []}},{"optional": "false", "name": "value", "type": {"name": "float", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "where", "flags": ["override"],  "output": {"name": "Websom.Adapters.Database.UpdateQuery", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "string", "template": []}},{"optional": "false", "name": "operator", "type": {"name": "string", "template": []}},{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "orderBy", "flags": ["override"],  "output": {"name": "Websom.Adapters.Database.UpdateQuery", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "string", "template": []}},{"optional": "false", "name": "order", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "run", "flags": ["async"],  "output": {"name": "Websom.Adapters.Database.UpdateQueryResult", "template": []}, "arguments": [], "isImplicitAsync": true, "isAsync": true},{"type": "property", "binding": "bound", "name": "conditions",  "output": {"name": "array", "template": [{"name": "Websom.Adapters.Database.SelectCondition", "template": []}]}},{"type": "property", "binding": "bound", "name": "collection",  "output": {"name": "Websom.Adapters.Database.Collection", "template": []}},{"type": "property", "binding": "bound", "name": "documentLimit",  "output": {"name": "int", "template": []}},{"type": "property", "binding": "bound", "name": "documentStart",  "output": {"name": "int", "template": []}},{"type": "method", "binding": "bound", "name": "limit",  "output": {"name": "Websom.Adapters.Database.SelectQuery", "template": []}, "arguments": [{"optional": "false", "name": "limit", "type": {"name": "int", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "startOffset",  "output": {"name": "Websom.Adapters.Database.SelectQuery", "template": []}, "arguments": [{"optional": "false", "name": "amount", "type": {"name": "int", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "get",  "output": {"name": "Websom.Adapters.Database.SelectQueryResult", "template": []}, "arguments": [], "isImplicitAsync": true, "isAsync": true}], "raw": {"type":"class","doc":[],"flags":["header","header"],"name":"Websom.Adapters.Database.UpdateQuery","members":[{"type":"property","name":"sets","value":{"type":"property","value":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"map","start":13969,"end":13974,"appendix":[{"type":"call","expression":[]}]}],"type":"expression","start":13969,"end":13973},"start":13965,"end":13974,"appendix":[]}],"type":"expression","start":13965,"end":13973}},"output":{"name":"map","template":[]},"flags":[],"templates":[],"start":13954,"doc":[],"end":13974},{"type":"property","name":"increments","value":{"type":"property","value":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"map","start":13999,"end":14004,"appendix":[{"type":"call","expression":[]}]}],"type":"expression","start":13999,"end":14003},"start":13995,"end":14004,"appendix":[]}],"type":"expression","start":13995,"end":14003}},"output":{"name":"map","template":[]},"flags":[],"templates":[],"start":13975,"doc":[],"end":14004},{"type":"property","name":"collection","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":14059,"end":14063,"appendix":[]}],"type":"expression","start":14059,"end":14062}},"output":{"name":"Websom.Adapters.Database.Collection","template":[]},"flags":[],"templates":[],"start":14005,"doc":[],"end":14063},{"type":"method","name":"@construct","value":{"type":"method","parameters":[{"type":{"name":"Websom.Adapters.Database.Collection","reference":0,"start":14100,"end":14135,"template":false},"doc":[],"name":"collection","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.collection","start":14153,"end":14168,"appendix":[]}},{"type":"constant","name":"collection","start":14171,"end":14181,"appendix":[]}],"type":"expression","start":14153,"end":14181}],"start":14148,"end":14185}},"output":{"name":"void","template":[]},"flags":["override","trust"],"templates":[],"start":14064,"doc":[],"end":14185},{"type":"method","name":"set","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":14232,"end":14238,"template":false},"doc":[],"name":"field","optional":[]},{"type":{"name":"primitive","reference":0,"start":14246,"end":14255,"template":false},"doc":[],"name":"value","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.sets","start":14268,"end":14284,"appendix":[{"type":"index","expression":{"terms":[{"type":"constant","name":"field","start":14278,"end":14283,"appendix":[]}],"type":"expression","start":14278,"end":14282}}]}},{"type":"constant","name":"value","start":14287,"end":14292,"appendix":[]}],"type":"expression","start":14268,"end":14292},{"type":"return","expression":{"terms":[{"type":"constant","name":"this","start":14306,"end":14310,"appendix":[]}],"type":"expression","start":14306,"end":14309},"start":14293,"end":14310}],"start":14263,"end":14314}},"output":{"name":"Websom.Adapters.Database.UpdateQuery","template":[]},"flags":[],"templates":[],"start":14186,"doc":[],"end":14314},{"type":"method","name":"increment","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":14367,"end":14373,"template":false},"doc":[],"name":"field","optional":[]},{"type":{"name":"float","reference":0,"start":14381,"end":14386,"template":false},"doc":[],"name":"value","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.increments","start":14399,"end":14421,"appendix":[{"type":"index","expression":{"terms":[{"type":"constant","name":"field","start":14415,"end":14420,"appendix":[]}],"type":"expression","start":14415,"end":14419}}]}},{"type":"constant","name":"value","start":14424,"end":14429,"appendix":[]}],"type":"expression","start":14399,"end":14429},{"type":"return","expression":{"terms":[{"type":"constant","name":"this","start":14443,"end":14447,"appendix":[]}],"type":"expression","start":14443,"end":14446},"start":14430,"end":14447}],"start":14394,"end":14451}},"output":{"name":"Websom.Adapters.Database.UpdateQuery","template":[]},"flags":[],"templates":[],"start":14315,"doc":[],"end":14451},{"type":"method","name":"where","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":14509,"end":14515,"template":false},"doc":[],"name":"field","optional":[]},{"type":{"name":"string","reference":0,"start":14523,"end":14529,"template":false},"doc":[],"name":"operator","optional":[]},{"type":{"name":"primitive","reference":0,"start":14540,"end":14549,"template":false},"doc":[],"name":"value","optional":[]}],"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"this.conditions.push","start":14562,"end":14661,"appendix":[{"type":"call","expression":[{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.Adapters.Database.SelectCondition","start":14587,"end":14660,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"field","start":14628,"end":14633,"appendix":[]}],"type":"expression","start":14628,"end":14632},{"terms":[{"type":"constant","name":"operator","start":14635,"end":14643,"appendix":[]}],"type":"expression","start":14634,"end":14642},{"terms":[{"type":"constant","name":"value","start":14645,"end":14650,"appendix":[]}],"type":"expression","start":14644,"end":14649},{"terms":[{"type":"literal","literalType":"string","value":"where","start":14652,"end":14659,"appendix":[]}],"type":"expression","start":14651,"end":14658}]}]}],"type":"expression","start":14587,"end":14659},"start":14583,"end":14660,"appendix":[]}],"type":"expression","start":14583,"end":14659}]}]}],"type":"expression","start":14562,"end":14661},{"type":"return","expression":{"terms":[{"type":"constant","name":"this","start":14675,"end":14679,"appendix":[]}],"type":"expression","start":14675,"end":14678},"start":14662,"end":14679}],"start":14557,"end":14683}},"output":{"name":"Websom.Adapters.Database.UpdateQuery","template":[]},"flags":["override"],"templates":[],"start":14452,"doc":[],"end":14683},{"type":"method","name":"orderBy","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":14743,"end":14749,"template":false},"doc":[],"name":"field","optional":[]},{"type":{"name":"string","reference":0,"start":14757,"end":14763,"template":false},"doc":[],"name":"order","optional":[]}],"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"this.conditions.push","start":14776,"end":14869,"appendix":[{"type":"call","expression":[{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.Adapters.Database.SelectCondition","start":14801,"end":14868,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"field","start":14842,"end":14847,"appendix":[]}],"type":"expression","start":14842,"end":14846},{"terms":[{"type":"constant","name":"order","start":14849,"end":14854,"appendix":[]}],"type":"expression","start":14848,"end":14853},{"terms":[{"type":"literal","literalType":"string","value":"","start":14856,"end":14858,"appendix":[]}],"type":"expression","start":14855,"end":14857},{"terms":[{"type":"literal","literalType":"string","value":"order","start":14860,"end":14867,"appendix":[]}],"type":"expression","start":14859,"end":14866}]}]}],"type":"expression","start":14801,"end":14867},"start":14797,"end":14868,"appendix":[]}],"type":"expression","start":14797,"end":14867}]}]}],"type":"expression","start":14776,"end":14869},{"type":"return","expression":{"terms":[{"type":"constant","name":"this","start":14883,"end":14887,"appendix":[]}],"type":"expression","start":14883,"end":14886},"start":14870,"end":14887}],"start":14771,"end":14891}},"output":{"name":"Websom.Adapters.Database.UpdateQuery","template":[]},"flags":["override"],"templates":[],"start":14684,"doc":[],"end":14891},{"type":"method","name":"run","value":{"type":"method","parameters":[],"body":{"type":"block","code":[{"type":"return","expression":{"terms":[{"type":"constant","name":"this.collection.executeUpdate","start":14964,"end":14999,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"this","start":14994,"end":14998,"appendix":[]}],"type":"expression","start":14994,"end":14997}]}]}],"type":"expression","start":14964,"end":14998},"start":14957,"end":14999}],"start":14952,"end":15003}},"output":{"name":"Websom.Adapters.Database.UpdateQueryResult","template":[]},"flags":["async"],"templates":[],"start":14892,"doc":[],"end":15003}],"inherits":{"types":[{"name":"Websom.Adapters.Database.SelectQuery","reference":0,"start":13913,"end":13949,"template":false}]},"templates":[],"start":13851,"end":15006}},{"type": "class", "base": "class", "flags": ["header"], "templates": [], "route": "Websom.Adapters.Database.UpdateQueryResult", "name": "UpdateQueryResult", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "success",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "message",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "updateCount",  "output": {"name": "int", "template": []}},{"type": "property", "binding": "bound", "name": "documents",  "output": {"name": "array", "template": [{"name": "Websom.Adapters.Database.Document", "template": []}]}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "success", "type": {"name": "bool", "template": []}},{"optional": "false", "name": "message", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false}], "raw": {"type":"class","doc":[],"flags":["header"],"name":"Websom.Adapters.Database.UpdateQueryResult","members":[{"type":"property","name":"success","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"boolean","value":false,"start":15086,"end":15091,"appendix":[]}],"type":"expression","start":15086,"end":15090}},"output":{"name":"bool","template":[]},"flags":[],"templates":[],"start":15071,"doc":[],"end":15091},{"type":"property","name":"message","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":15112,"end":15114,"appendix":[]}],"type":"expression","start":15112,"end":15113}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":15092,"doc":[],"end":15114},{"type":"property","name":"updateCount","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"number","value":0,"integer":true,"start":15136,"end":15137,"appendix":[]}],"type":"expression","start":15136,"end":15136}},"output":{"name":"int","template":[]},"flags":[],"templates":[],"start":15115,"doc":[],"end":15137},{"type":"property","doc":[],"output":{"name":"array","reference":0,"start":15143,"end":15183,"template":[{"name":"Websom.Adapters.Database.Document","reference":0,"start":15144,"end":15177,"template":false}]},"name":"documents","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":15196,"end":15200,"appendix":[]}],"type":"expression","start":15196,"end":15199}},"flags":[],"templates":[],"start":15138,"end":15200},{"type":"method","name":"@construct","value":{"type":"method","parameters":[{"type":{"name":"bool","reference":0,"start":15222,"end":15226,"template":false},"doc":[],"name":"success","optional":[]},{"type":{"name":"string","reference":0,"start":15236,"end":15242,"template":false},"doc":[],"name":"message","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.success","start":15257,"end":15269,"appendix":[]}},{"type":"constant","name":"success","start":15272,"end":15279,"appendix":[]}],"type":"expression","start":15257,"end":15279},{"terms":[{"operator":"=","term":{"type":"constant","name":"this.message","start":15284,"end":15296,"appendix":[]}},{"type":"constant","name":"message","start":15299,"end":15306,"appendix":[]}],"type":"expression","start":15280,"end":15306}],"start":15252,"end":15310}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":15201,"doc":[],"end":15310}],"templates":[],"start":15007,"end":15313}},{"type": "class", "base": "class", "flags": ["header","header"], "templates": [], "route": "Websom.Adapters.Database.DeleteQuery", "name": "DeleteQuery", "inherits": ["Websom.Adapters.Database.SelectQuery","everything"], "members": [{"type": "property", "binding": "bound", "name": "collection",  "output": {"name": "Websom.Adapters.Database.Collection", "template": []}},{"type": "method", "binding": "bound", "name": "@construct", "flags": ["override", "trust"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "collection", "type": {"name": "Websom.Adapters.Database.Collection", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "run", "flags": ["async"],  "output": {"name": "Websom.Adapters.Database.DeleteQueryResult", "template": []}, "arguments": [], "isImplicitAsync": true, "isAsync": true},{"type": "property", "binding": "bound", "name": "conditions",  "output": {"name": "array", "template": [{"name": "Websom.Adapters.Database.SelectCondition", "template": []}]}},{"type": "property", "binding": "bound", "name": "collection",  "output": {"name": "Websom.Adapters.Database.Collection", "template": []}},{"type": "property", "binding": "bound", "name": "documentLimit",  "output": {"name": "int", "template": []}},{"type": "property", "binding": "bound", "name": "documentStart",  "output": {"name": "int", "template": []}},{"type": "method", "binding": "bound", "name": "where",  "output": {"name": "Websom.Adapters.Database.SelectQuery", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "string", "template": []}},{"optional": "false", "name": "operator", "type": {"name": "string", "template": []}},{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "orderBy",  "output": {"name": "Websom.Adapters.Database.SelectQuery", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "string", "template": []}},{"optional": "false", "name": "order", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "limit",  "output": {"name": "Websom.Adapters.Database.SelectQuery", "template": []}, "arguments": [{"optional": "false", "name": "limit", "type": {"name": "int", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "startOffset",  "output": {"name": "Websom.Adapters.Database.SelectQuery", "template": []}, "arguments": [{"optional": "false", "name": "amount", "type": {"name": "int", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "get",  "output": {"name": "Websom.Adapters.Database.SelectQueryResult", "template": []}, "arguments": [], "isImplicitAsync": true, "isAsync": true}], "raw": {"type":"class","doc":[],"flags":["header","header"],"name":"Websom.Adapters.Database.DeleteQuery","members":[{"type":"property","name":"collection","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":15466,"end":15470,"appendix":[]}],"type":"expression","start":15466,"end":15469}},"output":{"name":"Websom.Adapters.Database.Collection","template":[]},"flags":[],"templates":[],"start":15417,"doc":[],"end":15470},{"type":"method","name":"@construct","value":{"type":"method","parameters":[{"type":{"name":"Websom.Adapters.Database.Collection","reference":0,"start":15507,"end":15542,"template":false},"doc":[],"name":"collection","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.collection","start":15560,"end":15575,"appendix":[]}},{"type":"constant","name":"collection","start":15578,"end":15588,"appendix":[]}],"type":"expression","start":15560,"end":15588}],"start":15555,"end":15592}},"output":{"name":"void","template":[]},"flags":["trust","override"],"templates":[],"start":15471,"doc":[],"end":15592},{"type":"method","name":"run","value":{"type":"method","parameters":[],"body":{"type":"block","code":[{"type":"return","expression":{"terms":[{"type":"constant","name":"this.collection.executeDelete","start":15665,"end":15700,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"this","start":15695,"end":15699,"appendix":[]}],"type":"expression","start":15695,"end":15698}]}]}],"type":"expression","start":15665,"end":15699},"start":15658,"end":15700}],"start":15653,"end":15704}},"output":{"name":"Websom.Adapters.Database.DeleteQueryResult","template":[]},"flags":["async"],"templates":[],"start":15593,"doc":[],"end":15704}],"inherits":{"types":[{"name":"Websom.Adapters.Database.SelectQuery","reference":0,"start":15376,"end":15412,"template":false}]},"templates":[],"start":15314,"end":15707}},{"type": "class", "base": "class", "flags": ["header"], "templates": [], "route": "Websom.Adapters.Database.DeleteQueryResult", "name": "DeleteQueryResult", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "success",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "message",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "documents",  "output": {"name": "array", "template": [{"name": "Websom.Adapters.Database.Document", "template": []}]}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "success", "type": {"name": "bool", "template": []}},{"optional": "false", "name": "message", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false}], "raw": {"type":"class","doc":[],"flags":["header"],"name":"Websom.Adapters.Database.DeleteQueryResult","members":[{"type":"property","name":"success","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"boolean","value":false,"start":15787,"end":15792,"appendix":[]}],"type":"expression","start":15787,"end":15791}},"output":{"name":"bool","template":[]},"flags":[],"templates":[],"start":15772,"doc":[],"end":15792},{"type":"property","name":"message","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":15813,"end":15815,"appendix":[]}],"type":"expression","start":15813,"end":15814}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":15793,"doc":[],"end":15815},{"type":"property","doc":[],"output":{"name":"array","reference":0,"start":15821,"end":15861,"template":[{"name":"Websom.Adapters.Database.Document","reference":0,"start":15822,"end":15855,"template":false}]},"name":"documents","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":15874,"end":15878,"appendix":[]}],"type":"expression","start":15874,"end":15877}},"flags":[],"templates":[],"start":15816,"end":15878},{"type":"method","name":"@construct","value":{"type":"method","parameters":[{"type":{"name":"bool","reference":0,"start":15900,"end":15904,"template":false},"doc":[],"name":"success","optional":[]},{"type":{"name":"string","reference":0,"start":15914,"end":15920,"template":false},"doc":[],"name":"message","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.success","start":15935,"end":15947,"appendix":[]}},{"type":"constant","name":"success","start":15950,"end":15957,"appendix":[]}],"type":"expression","start":15935,"end":15957},{"terms":[{"operator":"=","term":{"type":"constant","name":"this.message","start":15962,"end":15974,"appendix":[]}},{"type":"constant","name":"message","start":15977,"end":15984,"appendix":[]}],"type":"expression","start":15958,"end":15984}],"start":15930,"end":15988}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":15879,"doc":[],"end":15988}],"templates":[],"start":15708,"end":15991}},{"type": "class", "base": "class", "flags": ["header"], "templates": [], "route": "Websom.Adapters.Database.Document", "name": "Document", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "collection",  "output": {"name": "Websom.Adapters.Database.Collection", "template": []}},{"type": "property", "binding": "bound", "name": "id",  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "@construct", "flags": ["trust"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "collection", "type": {"name": "Websom.Adapters.Database.Collection", "template": []}},{"optional": "false", "name": "id", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "calc",  "output": {"name": "primitive", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "string", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "get",  "output": {"name": "primitive", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "data",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}, "arguments": [], "isImplicitAsync": false, "isAsync": false}], "raw": {"type":"class","doc":[],"flags":["header"],"name":"Websom.Adapters.Database.Document","members":[{"type":"property","name":"collection","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":16096,"end":16100,"appendix":[]}],"type":"expression","start":16096,"end":16099}},"output":{"name":"Websom.Adapters.Database.Collection","template":[]},"flags":[],"templates":[],"start":16047,"doc":[],"end":16100},{"type":"property","name":"id","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":16116,"end":16118,"appendix":[]}],"type":"expression","start":16116,"end":16117}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":16101,"doc":[],"end":16118},{"type":"method","name":"@construct","value":{"type":"method","parameters":[{"type":{"name":"Websom.Adapters.Database.Collection","reference":0,"start":16146,"end":16181,"template":false},"doc":[],"name":"collection","optional":[]},{"type":{"name":"string","reference":0,"start":16194,"end":16200,"template":false},"doc":[],"name":"id","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.collection","start":16210,"end":16225,"appendix":[]}},{"type":"constant","name":"collection","start":16228,"end":16238,"appendix":[]}],"type":"expression","start":16210,"end":16238},{"terms":[{"operator":"=","term":{"type":"constant","name":"this.id","start":16243,"end":16250,"appendix":[]}},{"type":"constant","name":"id","start":16253,"end":16255,"appendix":[]}],"type":"expression","start":16239,"end":16255}],"start":16205,"end":16259}},"output":{"name":"void","template":[]},"flags":["trust"],"templates":[],"start":16119,"doc":[],"end":16259},{"type":"method","name":"calc","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":16280,"end":16286,"template":false},"doc":[],"name":"field","optional":[]}],"body":{"type":"block","code":[{"type":"if","alternatives":[],"check":{"type":"group","expression":{"terms":[{"operator":"==","term":{"type":"constant","name":"this.collection.appliedSchema","start":16303,"end":16332,"appendix":[]}},{"type":"constant","name":"null","start":16336,"end":16340,"appendix":[]}],"type":"expression","start":16303,"end":16339}},"body":{"type":"block","code":[{"type":"throw","expression":{"terms":[{"type":"literal","literalType":"string","value":"No schema on collection","start":16354,"end":16379,"appendix":[]}],"type":"expression","start":16354,"end":16378},"start":16348,"end":16379},{"type":"return","expression":{"terms":[{"type":"constant","name":"null","start":16394,"end":16398,"appendix":[]}],"type":"expression","start":16394,"end":16397},"start":16380,"end":16398}],"start":16342,"end":16403},"start":16299,"end":16409},{"type":"for","in":true,"define":{"type":"define","name":"i","end":16423,"start":16415,"valueType":{"name":"int","reference":0,"start":16419,"end":16422,"template":false}},"iterate":{"terms":[{"type":"constant","name":"this.collection.appliedSchema.calculators","start":16428,"end":16469,"appendix":[]}],"type":"expression","start":16427,"end":16468},"body":{"type":"block","code":[{"type":"define","name":"calc","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"this.collection.appliedSchema.calculators","start":16488,"end":16532,"appendix":[{"type":"index","expression":{"terms":[{"type":"constant","name":"i","start":16530,"end":16531,"appendix":[]}],"type":"expression","start":16530,"end":16530}}]}],"type":"expression","start":16488,"end":16531},"start":16477,"end":16532},{"type":"if","alternatives":[],"check":{"type":"group","expression":{"terms":[{"operator":"==","term":{"type":"constant","name":"calc.getterName","start":16544,"end":16559,"appendix":[]}},{"type":"constant","name":"field","start":16563,"end":16568,"appendix":[]}],"type":"expression","start":16544,"end":16567}},"body":{"type":"block","code":[{"type":"return","expression":{"terms":[{"type":"constant","name":"calc.get","start":16584,"end":16609,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"this.collection","start":16593,"end":16608,"appendix":[]}],"type":"expression","start":16593,"end":16607}]}]}],"type":"expression","start":16584,"end":16608},"start":16577,"end":16609}],"start":16570,"end":16615},"start":16533,"end":16619}],"start":16471,"end":16620},"mode":"in","start":16410,"end":16620}],"start":16294,"end":16624}},"output":{"name":"primitive","template":[]},"flags":[],"templates":[],"start":16260,"doc":[],"end":16624},{"type":"method","name":"get","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":16644,"end":16650,"template":false},"doc":[],"name":"field","optional":[]}],"body":{"type":"block","code":[],"start":16658,"end":16659}},"output":{"name":"primitive","template":[]},"flags":[],"templates":[],"start":16625,"doc":[],"end":16659},{"type":"method","name":"data","value":{"type":"method","parameters":[],"body":{"type":"block","code":[],"start":16676,"end":16677}},"output":{"name":"map","template":[]},"flags":[],"templates":[],"start":16660,"doc":[],"end":16677}],"templates":[],"start":15992,"end":16680}},{"type": "class", "base": "class", "flags": ["header"], "templates": [], "route": "Websom.Adapters.Database.BatchQuery", "name": "BatchQuery", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "collection",  "output": {"name": "Websom.Adapters.Database.Collection", "template": []}},{"type": "property", "binding": "bound", "name": "inserts",  "output": {"name": "array", "template": [{"name": "Websom.Adapters.Database.InsertQuery", "template": []}]}},{"type": "property", "binding": "bound", "name": "updates",  "output": {"name": "array", "template": [{"name": "Websom.Adapters.Database.UpdateQuery", "template": []}]}},{"type": "method", "binding": "bound", "name": "@construct", "flags": ["trust"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "collection", "type": {"name": "Websom.Adapters.Database.Collection", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "insert",  "output": {"name": "Websom.Adapters.Database.InsertQuery", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "update",  "output": {"name": "Websom.Adapters.Database.UpdateQuery", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "commit",  "output": {"name": "array", "template": [{"name": "Websom.Adapters.Database.InsertQueryResult", "template": []}]}, "arguments": [], "isImplicitAsync": true, "isAsync": true}], "raw": {"type":"class","doc":[],"flags":["header"],"name":"Websom.Adapters.Database.BatchQuery","members":[{"type":"property","name":"collection","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":16787,"end":16791,"appendix":[]}],"type":"expression","start":16787,"end":16790}},"output":{"name":"Websom.Adapters.Database.Collection","template":[]},"flags":[],"templates":[],"start":16738,"doc":[],"end":16791},{"type":"property","doc":[],"output":{"name":"array","reference":0,"start":16797,"end":16840,"template":[{"name":"Websom.Adapters.Database.InsertQuery","reference":0,"start":16798,"end":16834,"template":false}]},"name":"inserts","value":{"type":"property","value":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"array","start":16855,"end":16900,"appendix":[{"type":"call","expression":[]}],"template":[{"name":"Websom.Adapters.Database.InsertQuery","reference":0,"start":16856,"end":16892,"template":false}]}],"type":"expression","start":16855,"end":16899},"start":16851,"end":16900,"appendix":[]}],"type":"expression","start":16851,"end":16899}},"flags":[],"templates":[],"start":16792,"end":16900},{"type":"property","doc":[],"output":{"name":"array","reference":0,"start":16904,"end":16947,"template":[{"name":"Websom.Adapters.Database.UpdateQuery","reference":0,"start":16905,"end":16941,"template":false}]},"name":"updates","value":{"type":"property","value":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"array","start":16962,"end":17007,"appendix":[{"type":"call","expression":[]}],"template":[{"name":"Websom.Adapters.Database.UpdateQuery","reference":0,"start":16963,"end":16999,"template":false}]}],"type":"expression","start":16962,"end":17006},"start":16958,"end":17007,"appendix":[]}],"type":"expression","start":16958,"end":17006}},"flags":[],"templates":[],"start":16901,"end":17007},{"type":"method","name":"@construct","value":{"type":"method","parameters":[{"type":{"name":"Websom.Adapters.Database.Collection","reference":0,"start":17035,"end":17070,"template":false},"doc":[],"name":"collection","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.collection","start":17088,"end":17103,"appendix":[]}},{"type":"constant","name":"collection","start":17106,"end":17116,"appendix":[]}],"type":"expression","start":17088,"end":17116}],"start":17083,"end":17120}},"output":{"name":"void","template":[]},"flags":["trust"],"templates":[],"start":17008,"doc":[],"end":17120},{"type":"method","name":"insert","value":{"type":"method","parameters":[],"body":{"type":"block","code":[{"type":"return","expression":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.Adapters.Database.InsertQuery","start":17188,"end":17241,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"this.collection","start":17225,"end":17240,"appendix":[]}],"type":"expression","start":17225,"end":17239}]}]}],"type":"expression","start":17188,"end":17240},"start":17184,"end":17241,"appendix":[]}],"type":"expression","start":17184,"end":17240},"start":17177,"end":17241}],"start":17172,"end":17245}},"output":{"name":"Websom.Adapters.Database.InsertQuery","template":[]},"flags":[],"templates":[],"start":17121,"doc":[],"end":17245},{"type":"method","name":"update","value":{"type":"method","parameters":[],"body":{"type":"block","code":[{"type":"return","expression":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.Adapters.Database.UpdateQuery","start":17313,"end":17366,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"this.collection","start":17350,"end":17365,"appendix":[]}],"type":"expression","start":17350,"end":17364}]}]}],"type":"expression","start":17313,"end":17365},"start":17309,"end":17366,"appendix":[]}],"type":"expression","start":17309,"end":17365},"start":17302,"end":17366}],"start":17297,"end":17370}},"output":{"name":"Websom.Adapters.Database.UpdateQuery","template":[]},"flags":[],"templates":[],"start":17246,"doc":[],"end":17370},{"type":"method","doc":[],"output":{"name":"array","reference":0,"start":17376,"end":17425,"template":[{"name":"Websom.Adapters.Database.InsertQueryResult","reference":0,"start":17377,"end":17419,"template":false}]},"name":"commit","value":{"type":"method","parameters":[],"body":{"type":"block","code":[{"type":"return","expression":{"terms":[{"type":"constant","name":"this.collection.commitBatch","start":17447,"end":17480,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"this","start":17475,"end":17479,"appendix":[]}],"type":"expression","start":17475,"end":17478}]}]}],"type":"expression","start":17447,"end":17479},"start":17440,"end":17480}],"start":17435,"end":17484}},"flags":[],"templates":[],"start":17371,"end":17484}],"templates":[],"start":16681,"end":17487}},{"type": "class", "base": "namespace", "flags": [], "templates": [], "route": "Websom.Adapters.Search", "name": "Search", "inherits": ["everything"], "members": []},{"type": "class", "base": "class", "flags": ["header","header"], "templates": [], "route": "Websom.Adapters.Search.Adapter", "name": "Adapter", "inherits": ["Websom.Adapter","everything"], "members": [{"type": "method", "binding": "bound", "name": "initializeCollection",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "collection", "type": {"name": "Websom.Adapters.Database.Collection", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "insertDocument",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "document", "type": {"name": "Websom.Adapters.Database.Document", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "updateDocument",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "document", "type": {"name": "Websom.Adapters.Database.Document", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "search",  "output": {"name": "Websom.Adapters.Search.QueryResult", "template": []}, "arguments": [{"optional": "false", "name": "collection", "type": {"name": "Websom.Adapters.Database.Collection", "template": []}},{"optional": "false", "name": "query", "type": {"name": "Websom.Adapters.Search.Query", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "property", "binding": "bound", "name": "adapterKey",  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "initialize",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "shutdown",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": true, "isAsync": true}], "raw": {"type":"class","doc":[],"flags":["header","header"],"name":"Websom.Adapters.Search.Adapter","members":[{"type":"method","name":"initializeCollection","value":{"type":"method","parameters":[{"type":{"name":"Websom.Adapters.Database.Collection","reference":0,"start":151,"end":186,"template":false},"doc":[],"name":"collection","optional":[]}],"body":{"type":"block","code":[],"start":199,"end":207}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":110,"attribute":[{"key":"ForceAsync","value":true}],"doc":[],"end":207},{"type":"method","name":"insertDocument","value":{"type":"method","parameters":[{"type":{"name":"Websom.Adapters.Database.Document","reference":0,"start":248,"end":281,"template":false},"doc":[],"name":"document","optional":[]}],"body":{"type":"block","code":[],"start":292,"end":298}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":208,"attribute":[{"key":"ForceAsync","value":true}],"doc":[],"end":298},{"type":"method","name":"updateDocument","value":{"type":"method","parameters":[{"type":{"name":"Websom.Adapters.Database.Document","reference":0,"start":339,"end":372,"template":false},"doc":[],"name":"document","optional":[]}],"body":{"type":"block","code":[],"start":383,"end":391}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":299,"attribute":[{"key":"ForceAsync","value":true}],"doc":[],"end":391},{"type":"method","name":"search","value":{"type":"method","parameters":[{"type":{"name":"Websom.Adapters.Database.Collection","reference":0,"start":454,"end":489,"template":false},"doc":[],"name":"collection","optional":[]},{"type":{"name":"Websom.Adapters.Search.Query","reference":0,"start":502,"end":530,"template":false},"doc":[],"name":"query","optional":[]}],"body":{"type":"block","code":[],"start":538,"end":544}},"output":{"name":"Websom.Adapters.Search.QueryResult","template":[]},"flags":[],"templates":[],"start":392,"attribute":[{"key":"ForceAsync","value":true}],"doc":[],"end":544}],"inherits":{"types":[{"name":"Websom.Adapter","reference":0,"start":91,"end":105,"template":false}]},"templates":[],"start":35,"end":547}},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Adapters.Search.Query", "name": "Query", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "query",  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "baseQuery", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Adapters.Search.QueryResult", "name": "QueryResult", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "error",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "message",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "ids",  "output": {"name": "array", "template": [{"name": "string", "template": []}]}},{"type": "property", "binding": "bound", "name": "unsafeDocuments",  "output": {"name": "array", "template": [{"name": "Websom.Adapters.Database.Document", "template": []}]}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "error", "type": {"name": "bool", "template": []}},{"optional": "false", "name": "message", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "namespace", "flags": [], "templates": [], "route": "Websom.Adapters.Email", "name": "Email", "inherits": ["everything"], "members": []},{"type": "class", "base": "class", "flags": ["header","header"], "templates": [], "route": "Websom.Adapters.Email.Adapter", "name": "Adapter", "inherits": ["Websom.Adapter","everything"], "members": [{"type": "method", "binding": "bound", "name": "email",  "output": {"name": "Websom.Adapters.Email.Email", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "send",  "output": {"name": "Websom.Adapters.Email.SendResults", "template": []}, "arguments": [{"optional": "false", "name": "email", "type": {"name": "Websom.Adapters.Email.Email", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "template",  "output": {"name": "Websom.Adapters.Email.EmailTemplate", "template": []}, "arguments": [{"optional": "false", "name": "title", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "property", "binding": "bound", "name": "adapterKey",  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "initialize",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "shutdown",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": true, "isAsync": true}], "raw": {"type":"class","doc":[],"flags":["header","header"],"name":"Websom.Adapters.Email.Adapter","members":[{"type":"method","name":"email","value":{"type":"method","parameters":[],"body":{"type":"block","code":[{"type":"return","expression":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.Adapters.Email.Email","start":160,"end":193,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"this","start":188,"end":192,"appendix":[]}],"type":"expression","start":188,"end":191}]}]}],"type":"expression","start":160,"end":192},"start":156,"end":193,"appendix":[]}],"type":"expression","start":156,"end":192},"start":149,"end":193}],"start":144,"end":197}},"output":{"name":"Websom.Adapters.Email.Email","template":[]},"flags":[],"templates":[],"start":108,"doc":[],"end":197},{"type":"method","name":"send","value":{"type":"method","parameters":[{"type":{"name":"Websom.Adapters.Email.Email","reference":0,"start":257,"end":284,"template":false},"doc":[],"name":"email","optional":[]}],"body":{"type":"block","code":[],"start":292,"end":298}},"output":{"name":"Websom.Adapters.Email.SendResults","template":[]},"flags":[],"templates":[],"start":198,"attribute":[{"key":"ForceAsync","value":true}],"doc":[],"end":298},{"type":"method","name":"template","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":349,"end":355,"template":false},"doc":[],"name":"title","optional":[]}],"body":{"type":"block","code":[{"type":"return","expression":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.Adapters.Email.EmailTemplate","start":379,"end":427,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"this","start":415,"end":419,"appendix":[]}],"type":"expression","start":415,"end":418},{"terms":[{"type":"constant","name":"title","start":421,"end":426,"appendix":[]}],"type":"expression","start":420,"end":425}]}]}],"type":"expression","start":379,"end":426},"start":375,"end":427,"appendix":[]}],"type":"expression","start":375,"end":426},"start":368,"end":427}],"start":363,"end":431}},"output":{"name":"Websom.Adapters.Email.EmailTemplate","template":[]},"flags":[],"templates":[],"start":299,"doc":[],"end":431}],"inherits":{"types":[{"name":"Websom.Adapter","reference":0,"start":89,"end":103,"template":false}]},"templates":[],"start":34,"end":434}},{"type": "class", "base": "class", "flags": ["header"], "templates": [], "route": "Websom.Adapters.Email.SendResults", "name": "SendResults", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "status",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "message",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "sent",  "output": {"name": "int", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "status", "type": {"name": "string", "template": []}},{"optional": "false", "name": "message", "type": {"name": "string", "template": []}},{"optional": "false", "name": "sent", "type": {"name": "int", "template": []}}], "isImplicitAsync": false, "isAsync": false}], "raw": {"type":"class","doc":[],"flags":["header"],"name":"Websom.Adapters.Email.SendResults","members":[{"type":"property","name":"status","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":506,"end":508,"appendix":[]}],"type":"expression","start":506,"end":507}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":490,"doc":[],"end":508},{"type":"property","name":"message","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":529,"end":531,"appendix":[]}],"type":"expression","start":529,"end":530}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":509,"doc":[],"end":531},{"type":"property","name":"sent","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"number","value":0,"integer":true,"start":587,"end":588,"appendix":[]}],"type":"expression","start":587,"end":587}},"output":{"name":"int","template":[]},"flags":[],"templates":[],"start":532,"doc":["Number of emails successfully sent"],"end":588},{"type":"method","name":"@construct","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":610,"end":616,"template":false},"doc":[],"name":"status","optional":[]},{"type":{"name":"string","reference":0,"start":625,"end":631,"template":false},"doc":[],"name":"message","optional":[]},{"type":{"name":"int","reference":0,"start":641,"end":644,"template":false},"doc":[],"name":"sent","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.status","start":656,"end":667,"appendix":[]}},{"type":"constant","name":"status","start":670,"end":676,"appendix":[]}],"type":"expression","start":656,"end":676},{"terms":[{"operator":"=","term":{"type":"constant","name":"this.message","start":681,"end":693,"appendix":[]}},{"type":"constant","name":"message","start":696,"end":703,"appendix":[]}],"type":"expression","start":677,"end":703},{"terms":[{"operator":"=","term":{"type":"constant","name":"this.sent","start":708,"end":717,"appendix":[]}},{"type":"constant","name":"sent","start":720,"end":724,"appendix":[]}],"type":"expression","start":704,"end":724}],"start":651,"end":728}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":589,"doc":[],"end":728}],"templates":[],"start":435,"end":731}},{"type": "class", "base": "class", "flags": ["header"], "templates": [], "route": "Websom.Adapters.Email.Email", "name": "Email", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "subject",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "textBody",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "htmlBody",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "fromAddress",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "fromName",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "replyTo",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "recipients",  "output": {"name": "array", "template": [{"name": "string", "template": []}]}},{"type": "property", "binding": "bound", "name": "cc",  "output": {"name": "array", "template": [{"name": "string", "template": []}]}},{"type": "property", "binding": "bound", "name": "bcc",  "output": {"name": "array", "template": [{"name": "string", "template": []}]}},{"type": "property", "binding": "bound", "name": "adapter",  "output": {"name": "Websom.Adapters.Email.Adapter", "template": []}},{"type": "method", "binding": "bound", "name": "@construct", "flags": ["trust"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "adapter", "type": {"name": "Websom.Adapters.Email.Adapter", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "setSubject",  "output": {"name": "Websom.Adapters.Email.Email", "template": []}, "arguments": [{"optional": "false", "name": "val", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "setReplyTo",  "output": {"name": "Websom.Adapters.Email.Email", "template": []}, "arguments": [{"optional": "false", "name": "val", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "setTextBody",  "output": {"name": "Websom.Adapters.Email.Email", "template": []}, "arguments": [{"optional": "false", "name": "val", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "setHtmlBody",  "output": {"name": "Websom.Adapters.Email.Email", "template": []}, "arguments": [{"optional": "false", "name": "val", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "setFrom",  "output": {"name": "Websom.Adapters.Email.Email", "template": []}, "arguments": [{"optional": "false", "name": "address", "type": {"name": "string", "template": []}},{"optional": "false", "name": "name", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "addRecipient",  "output": {"name": "Websom.Adapters.Email.Email", "template": []}, "arguments": [{"optional": "false", "name": "address", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "addCCRecipient",  "output": {"name": "Websom.Adapters.Email.Email", "template": []}, "arguments": [{"optional": "false", "name": "address", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "addBCCRecipient",  "output": {"name": "Websom.Adapters.Email.Email", "template": []}, "arguments": [{"optional": "false", "name": "address", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "send",  "output": {"name": "Websom.Adapters.Email.SendResults", "template": []}, "arguments": [], "isImplicitAsync": true, "isAsync": true}], "raw": {"type":"class","doc":[],"flags":["header"],"name":"Websom.Adapters.Email.Email","members":[{"type":"property","name":"subject","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":800,"end":802,"appendix":[]}],"type":"expression","start":800,"end":801}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":783,"doc":[],"end":802},{"type":"property","name":"textBody","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":824,"end":826,"appendix":[]}],"type":"expression","start":824,"end":825}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":803,"doc":[],"end":826},{"type":"property","name":"htmlBody","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":848,"end":850,"appendix":[]}],"type":"expression","start":848,"end":849}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":827,"doc":[],"end":850},{"type":"property","name":"fromAddress","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":878,"end":880,"appendix":[]}],"type":"expression","start":878,"end":879}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":851,"doc":[],"end":880},{"type":"property","name":"fromName","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":902,"end":904,"appendix":[]}],"type":"expression","start":902,"end":903}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":881,"doc":[],"end":904},{"type":"property","name":"replyTo","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":927,"end":929,"appendix":[]}],"type":"expression","start":927,"end":928}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":905,"doc":[],"end":929},{"type":"property","doc":[],"output":{"name":"array","reference":0,"start":935,"end":948,"template":[{"name":"string","reference":0,"start":936,"end":942,"template":false}]},"name":"recipients","value":{"type":"property","value":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"array","start":966,"end":981,"appendix":[{"type":"call","expression":[]}],"template":[{"name":"string","reference":0,"start":967,"end":973,"template":false}]}],"type":"expression","start":966,"end":980},"start":962,"end":981,"appendix":[]}],"type":"expression","start":962,"end":980}},"flags":[],"templates":[],"start":930,"end":981},{"type":"property","doc":[],"output":{"name":"array","reference":0,"start":985,"end":998,"template":[{"name":"string","reference":0,"start":986,"end":992,"template":false}]},"name":"cc","value":{"type":"property","value":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"array","start":1008,"end":1023,"appendix":[{"type":"call","expression":[]}],"template":[{"name":"string","reference":0,"start":1009,"end":1015,"template":false}]}],"type":"expression","start":1008,"end":1022},"start":1004,"end":1023,"appendix":[]}],"type":"expression","start":1004,"end":1022}},"flags":[],"templates":[],"start":982,"end":1023},{"type":"property","doc":[],"output":{"name":"array","reference":0,"start":1027,"end":1040,"template":[{"name":"string","reference":0,"start":1028,"end":1034,"template":false}]},"name":"bcc","value":{"type":"property","value":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"array","start":1051,"end":1066,"appendix":[{"type":"call","expression":[]}],"template":[{"name":"string","reference":0,"start":1052,"end":1058,"template":false}]}],"type":"expression","start":1051,"end":1065},"start":1047,"end":1066,"appendix":[]}],"type":"expression","start":1047,"end":1065}},"flags":[],"templates":[],"start":1024,"end":1066},{"type":"property","doc":[],"output":{"name":"Websom.Adapters.Email.Adapter","reference":1,"start":1072,"end":1102,"template":false},"name":"adapter","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":1113,"end":1117,"appendix":[]}],"type":"expression","start":1113,"end":1116}},"flags":[],"templates":[],"start":1067,"end":1117},{"type":"method","name":"@construct","value":{"type":"method","parameters":[{"type":{"name":"Websom.Adapters.Email.Adapter","reference":1,"start":1145,"end":1175,"template":false},"doc":[],"name":"adapter","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.adapter","start":1190,"end":1202,"appendix":[]}},{"type":"constant","name":"adapter","start":1205,"end":1212,"appendix":[]}],"type":"expression","start":1190,"end":1212}],"start":1185,"end":1216}},"output":{"name":"void","template":[]},"flags":["trust"],"templates":[],"start":1118,"doc":[],"end":1216},{"type":"method","name":"setSubject","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":1261,"end":1267,"template":false},"doc":[],"name":"val","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.subject","start":1278,"end":1290,"appendix":[]}},{"type":"constant","name":"val","start":1293,"end":1296,"appendix":[]}],"type":"expression","start":1278,"end":1296},{"type":"return","expression":{"terms":[{"type":"constant","name":"this","start":1308,"end":1312,"appendix":[]}],"type":"expression","start":1308,"end":1311},"start":1297,"end":1312}],"start":1273,"end":1316}},"output":{"name":"Websom.Adapters.Email.Email","template":[]},"flags":[],"templates":[],"start":1217,"doc":[],"end":1316},{"type":"method","name":"setReplyTo","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":1361,"end":1367,"template":false},"doc":[],"name":"val","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.replyTo","start":1378,"end":1390,"appendix":[]}},{"type":"constant","name":"val","start":1393,"end":1396,"appendix":[]}],"type":"expression","start":1378,"end":1396},{"type":"return","expression":{"terms":[{"type":"constant","name":"this","start":1408,"end":1412,"appendix":[]}],"type":"expression","start":1408,"end":1411},"start":1397,"end":1412}],"start":1373,"end":1416}},"output":{"name":"Websom.Adapters.Email.Email","template":[]},"flags":[],"templates":[],"start":1317,"doc":[],"end":1416},{"type":"method","name":"setTextBody","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":1462,"end":1468,"template":false},"doc":[],"name":"val","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.textBody","start":1479,"end":1492,"appendix":[]}},{"type":"constant","name":"val","start":1495,"end":1498,"appendix":[]}],"type":"expression","start":1479,"end":1498},{"type":"return","expression":{"terms":[{"type":"constant","name":"this","start":1510,"end":1514,"appendix":[]}],"type":"expression","start":1510,"end":1513},"start":1499,"end":1514}],"start":1474,"end":1518}},"output":{"name":"Websom.Adapters.Email.Email","template":[]},"flags":[],"templates":[],"start":1417,"doc":[],"end":1518},{"type":"method","name":"setHtmlBody","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":1564,"end":1570,"template":false},"doc":[],"name":"val","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.htmlBody","start":1581,"end":1594,"appendix":[]}},{"type":"constant","name":"val","start":1597,"end":1600,"appendix":[]}],"type":"expression","start":1581,"end":1600},{"type":"return","expression":{"terms":[{"type":"constant","name":"this","start":1612,"end":1616,"appendix":[]}],"type":"expression","start":1612,"end":1615},"start":1601,"end":1616}],"start":1576,"end":1620}},"output":{"name":"Websom.Adapters.Email.Email","template":[]},"flags":[],"templates":[],"start":1519,"doc":[],"end":1620},{"type":"method","name":"setFrom","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":1662,"end":1668,"template":false},"doc":[],"name":"address","optional":[]},{"type":{"name":"string","reference":0,"start":1678,"end":1684,"template":false},"doc":[],"name":"name","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.fromAddress","start":1696,"end":1712,"appendix":[]}},{"type":"constant","name":"address","start":1715,"end":1722,"appendix":[]}],"type":"expression","start":1696,"end":1722},{"terms":[{"operator":"=","term":{"type":"constant","name":"this.fromName","start":1727,"end":1740,"appendix":[]}},{"type":"constant","name":"name","start":1743,"end":1747,"appendix":[]}],"type":"expression","start":1723,"end":1747},{"type":"return","expression":{"terms":[{"type":"constant","name":"this","start":1759,"end":1763,"appendix":[]}],"type":"expression","start":1759,"end":1762},"start":1748,"end":1763}],"start":1691,"end":1767}},"output":{"name":"Websom.Adapters.Email.Email","template":[]},"flags":[],"templates":[],"start":1621,"doc":[],"end":1767},{"type":"method","name":"addRecipient","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":1814,"end":1820,"template":false},"doc":[],"name":"address","optional":[]}],"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"this.recipients.push","start":1835,"end":1864,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"address","start":1856,"end":1863,"appendix":[]}],"type":"expression","start":1856,"end":1862}]}]}],"type":"expression","start":1835,"end":1864},{"type":"return","expression":{"terms":[{"type":"constant","name":"this","start":1876,"end":1880,"appendix":[]}],"type":"expression","start":1876,"end":1879},"start":1865,"end":1880}],"start":1830,"end":1884}},"output":{"name":"Websom.Adapters.Email.Email","template":[]},"flags":[],"templates":[],"start":1768,"doc":[],"end":1884},{"type":"method","name":"addCCRecipient","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":1933,"end":1939,"template":false},"doc":[],"name":"address","optional":[]}],"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"this.cc.push","start":1954,"end":1975,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"address","start":1967,"end":1974,"appendix":[]}],"type":"expression","start":1967,"end":1973}]}]}],"type":"expression","start":1954,"end":1975},{"type":"return","expression":{"terms":[{"type":"constant","name":"this","start":1987,"end":1991,"appendix":[]}],"type":"expression","start":1987,"end":1990},"start":1976,"end":1991}],"start":1949,"end":1995}},"output":{"name":"Websom.Adapters.Email.Email","template":[]},"flags":[],"templates":[],"start":1885,"doc":[],"end":1995},{"type":"method","name":"addBCCRecipient","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":2045,"end":2051,"template":false},"doc":[],"name":"address","optional":[]}],"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"this.bcc.push","start":2066,"end":2088,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"address","start":2080,"end":2087,"appendix":[]}],"type":"expression","start":2080,"end":2086}]}]}],"type":"expression","start":2066,"end":2088},{"type":"return","expression":{"terms":[{"type":"constant","name":"this","start":2100,"end":2104,"appendix":[]}],"type":"expression","start":2100,"end":2103},"start":2089,"end":2104}],"start":2061,"end":2108}},"output":{"name":"Websom.Adapters.Email.Email","template":[]},"flags":[],"templates":[],"start":1996,"doc":[],"end":2108},{"type":"method","name":"send","value":{"type":"method","parameters":[],"body":{"type":"block","code":[{"type":"return","expression":{"terms":[{"type":"constant","name":"this.adapter.send","start":2167,"end":2190,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"this","start":2185,"end":2189,"appendix":[]}],"type":"expression","start":2185,"end":2188}]}]}],"type":"expression","start":2167,"end":2189},"start":2160,"end":2190}],"start":2155,"end":2194}},"output":{"name":"Websom.Adapters.Email.SendResults","template":[]},"flags":[],"templates":[],"start":2109,"doc":[],"end":2194}],"templates":[],"start":732,"end":2197}},{"type": "class", "base": "class", "flags": ["header"], "templates": [], "route": "Websom.Adapters.Email.Column", "name": "Column", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "content",  "output": {"name": "array", "template": [{"name": "string", "template": []}]}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false}], "raw": {"type":"class","doc":[],"flags":["header"],"name":"Websom.Adapters.Email.Column","members":[{"type":"property","doc":[],"output":{"name":"array","reference":0,"start":2248,"end":2261,"template":[{"name":"string","reference":0,"start":2249,"end":2255,"template":false}]},"name":"content","value":{"type":"property","value":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"array","start":2276,"end":2291,"appendix":[{"type":"call","expression":[]}],"template":[{"name":"string","reference":0,"start":2277,"end":2283,"template":false}]}],"type":"expression","start":2276,"end":2290},"start":2272,"end":2291,"appendix":[]}],"type":"expression","start":2272,"end":2290}},"flags":[],"templates":[],"start":2248,"end":2291},{"type":"method","name":"@construct","value":{"type":"method","parameters":[],"body":{"type":"block","code":[],"start":2315,"end":2321}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":2292,"doc":[],"end":2321}],"templates":[],"start":2198,"end":2324}},{"type": "class", "base": "class", "flags": ["header"], "templates": [], "route": "Websom.Adapters.Email.Row", "name": "Row", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "columns",  "output": {"name": "array", "template": [{"name": "Websom.Adapters.Email.Column", "template": []}]}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false}], "raw": {"type":"class","doc":[],"flags":["header"],"name":"Websom.Adapters.Email.Row","members":[{"type":"property","doc":[],"output":{"name":"array","reference":0,"start":2372,"end":2407,"template":[{"name":"Websom.Adapters.Email.Column","reference":0,"start":2373,"end":2401,"template":false}]},"name":"columns","value":{"type":"property","value":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"array","start":2422,"end":2459,"appendix":[{"type":"call","expression":[]}],"template":[{"name":"Websom.Adapters.Email.Column","reference":0,"start":2423,"end":2451,"template":false}]}],"type":"expression","start":2422,"end":2458},"start":2418,"end":2459,"appendix":[]}],"type":"expression","start":2418,"end":2458}},"flags":[],"templates":[],"start":2372,"end":2459},{"type":"method","name":"@construct","value":{"type":"method","parameters":[],"body":{"type":"block","code":[],"start":2483,"end":2489}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":2460,"doc":[],"end":2489}],"templates":[],"start":2325,"end":2492}},{"type": "class", "base": "class", "flags": ["header"], "templates": [], "route": "Websom.Adapters.Email.EmailTemplate", "name": "EmailTemplate", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "adapter",  "output": {"name": "Websom.Adapters.Email.Adapter", "template": []}},{"type": "property", "binding": "bound", "name": "title",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "plainText",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "rows",  "output": {"name": "array", "template": [{"name": "Websom.Adapters.Email.Row", "template": []}]}},{"type": "method", "binding": "bound", "name": "@construct", "flags": ["trust"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "adapter", "type": {"name": "Websom.Adapters.Email.Adapter", "template": []}},{"optional": "false", "name": "title", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "email",  "output": {"name": "Websom.Adapters.Email.Email", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "getHtml",  "output": {"name": "string", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "getPlain",  "output": {"name": "string", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "plain",  "output": {"name": "Websom.Adapters.Email.EmailTemplate", "template": []}, "arguments": [{"optional": "false", "name": "content", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "row",  "output": {"name": "Websom.Adapters.Email.EmailTemplate", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "column",  "output": {"name": "Websom.Adapters.Email.EmailTemplate", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "button",  "output": {"name": "Websom.Adapters.Email.EmailTemplate", "template": []}, "arguments": [{"optional": "false", "name": "label", "type": {"name": "string", "template": []}},{"optional": "false", "name": "href", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "paragraph",  "output": {"name": "Websom.Adapters.Email.EmailTemplate", "template": []}, "arguments": [{"optional": "false", "name": "content", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "raw",  "output": {"name": "Websom.Adapters.Email.EmailTemplate", "template": []}, "arguments": [{"optional": "false", "name": "html", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "htmlTemplate",  "output": {"name": "string", "template": []}, "arguments": [{"optional": "false", "name": "title", "type": {"name": "string", "template": []}},{"optional": "false", "name": "rows", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false}], "raw": {"type":"class","doc":[],"flags":["header"],"name":"Websom.Adapters.Email.EmailTemplate","members":[{"type":"property","name":"adapter","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":2590,"end":2594,"appendix":[]}],"type":"expression","start":2590,"end":2593}},"output":{"name":"Websom.Adapters.Email.Adapter","template":[]},"flags":[],"templates":[],"start":2550,"doc":[],"end":2594},{"type":"property","name":"title","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":2613,"end":2615,"appendix":[]}],"type":"expression","start":2613,"end":2614}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":2595,"doc":[],"end":2615},{"type":"property","name":"plainText","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":2638,"end":2640,"appendix":[]}],"type":"expression","start":2638,"end":2639}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":2616,"doc":[],"end":2640},{"type":"property","doc":[],"output":{"name":"array","reference":0,"start":2646,"end":2678,"template":[{"name":"Websom.Adapters.Email.Row","reference":0,"start":2647,"end":2672,"template":false}]},"name":"rows","value":{"type":"property","value":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"array","start":2690,"end":2724,"appendix":[{"type":"call","expression":[]}],"template":[{"name":"Websom.Adapters.Email.Row","reference":0,"start":2691,"end":2716,"template":false}]}],"type":"expression","start":2690,"end":2723},"start":2686,"end":2724,"appendix":[]}],"type":"expression","start":2686,"end":2723}},"flags":[],"templates":[],"start":2641,"end":2724},{"type":"method","name":"@construct","value":{"type":"method","parameters":[{"type":{"name":"Websom.Adapters.Email.Adapter","reference":0,"start":2752,"end":2781,"template":false},"doc":[],"name":"adapter","optional":[]},{"type":{"name":"string","reference":0,"start":2791,"end":2797,"template":false},"doc":[],"name":"title","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.adapter","start":2810,"end":2822,"appendix":[]}},{"type":"constant","name":"adapter","start":2825,"end":2832,"appendix":[]}],"type":"expression","start":2810,"end":2832},{"terms":[{"operator":"=","term":{"type":"constant","name":"this.title","start":2837,"end":2847,"appendix":[]}},{"type":"constant","name":"title","start":2850,"end":2855,"appendix":[]}],"type":"expression","start":2833,"end":2855}],"start":2805,"end":2859}},"output":{"name":"void","template":[]},"flags":["trust"],"templates":[],"start":2725,"doc":[],"end":2859},{"type":"method","name":"email","value":{"type":"method","parameters":[],"body":{"type":"block","code":[{"type":"return","expression":{"terms":[{"type":"constant","name":"this.adapter.email","start":2913,"end":3000,"appendix":[{"type":"call","expression":[]},{"type":"dot","name":"setHtmlBody"},{"type":"call","expression":[{"terms":[{"type":"constant","name":"this.getHtml","start":2951,"end":2965,"appendix":[{"type":"call","expression":[]}]}],"type":"expression","start":2951,"end":2964}]},{"type":"dot","name":"setTextBody"},{"type":"call","expression":[{"terms":[{"type":"constant","name":"this.getPlain","start":2984,"end":2999,"appendix":[{"type":"call","expression":[]}]}],"type":"expression","start":2984,"end":2998}]}]}],"type":"expression","start":2913,"end":2999},"start":2906,"end":3000}],"start":2901,"end":3004}},"output":{"name":"Websom.Adapters.Email.Email","template":[]},"flags":[],"templates":[],"start":2860,"doc":[],"end":3004},{"type":"method","name":"getHtml","value":{"type":"method","parameters":[],"body":{"type":"block","code":[{"type":"define","name":"rows","valueType":"","auto":true,"value":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"array","start":3047,"end":3062,"appendix":[{"type":"call","expression":[]}],"template":[{"name":"string","reference":0,"start":3048,"end":3054,"template":false}]}],"type":"expression","start":3047,"end":3061},"start":3043,"end":3062,"appendix":[]}],"type":"expression","start":3043,"end":3061},"start":3032,"end":3062},{"type":"for","in":true,"define":{"type":"define","name":"i","end":3082,"start":3074,"valueType":{"name":"int","reference":0,"start":3078,"end":3081,"template":false}},"iterate":{"terms":[{"type":"constant","name":"this.rows","start":3087,"end":3096,"appendix":[]}],"type":"expression","start":3086,"end":3095},"body":{"type":"block","code":[{"type":"define","name":"row","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"this.rows","start":3114,"end":3126,"appendix":[{"type":"index","expression":{"terms":[{"type":"constant","name":"i","start":3124,"end":3125,"appendix":[]}],"type":"expression","start":3124,"end":3124}}]}],"type":"expression","start":3114,"end":3125},"start":3104,"end":3126},{"type":"define","name":"cols","valueType":"","auto":true,"value":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"array","start":3149,"end":3164,"appendix":[{"type":"call","expression":[]}],"template":[{"name":"string","reference":0,"start":3150,"end":3156,"template":false}]}],"type":"expression","start":3149,"end":3163},"start":3145,"end":3164,"appendix":[]}],"type":"expression","start":3145,"end":3163},"start":3127,"end":3164},{"type":"for","in":true,"define":{"type":"define","name":"j","end":3185,"start":3177,"valueType":{"name":"int","reference":0,"start":3181,"end":3184,"template":false}},"iterate":{"terms":[{"type":"constant","name":"row.columns","start":3190,"end":3201,"appendix":[]}],"type":"expression","start":3189,"end":3200},"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"cols.push","start":3210,"end":3271,"appendix":[{"type":"call","expression":[{"terms":[{"operator":"+","term":{"type":"literal","literalType":"string","value":"<td>","start":3220,"end":3226,"appendix":[]}},{"operator":"+","term":{"type":"constant","name":"row.columns","start":3229,"end":3260,"appendix":[{"type":"index","expression":{"terms":[{"type":"constant","name":"j","start":3241,"end":3242,"appendix":[]}],"type":"expression","start":3241,"end":3241}},{"type":"dot","name":"content.join"},{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"string","value":"","start":3257,"end":3259,"appendix":[]}],"type":"expression","start":3257,"end":3258}]}]}},{"type":"literal","literalType":"string","value":"</td>","start":3263,"end":3270,"appendix":[]}],"type":"expression","start":3220,"end":3269}]}]}],"type":"expression","start":3210,"end":3271}],"start":3203,"end":3277},"mode":"in","start":3165,"end":3277},{"terms":[{"type":"constant","name":"rows.push","start":3285,"end":3328,"appendix":[{"type":"call","expression":[{"terms":[{"operator":"+","term":{"type":"literal","literalType":"string","value":"<tr>","start":3295,"end":3301,"appendix":[]}},{"operator":"+","term":{"type":"constant","name":"cols.join","start":3304,"end":3317,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"string","value":"","start":3314,"end":3316,"appendix":[]}],"type":"expression","start":3314,"end":3315}]}]}},{"type":"literal","literalType":"string","value":"</tr>","start":3320,"end":3327,"appendix":[]}],"type":"expression","start":3295,"end":3326}]}]}],"type":"expression","start":3278,"end":3328}],"start":3098,"end":3333},"mode":"in","start":3063,"end":3333},{"type":"return","expression":{"terms":[{"type":"constant","name":"this.htmlTemplate","start":3347,"end":3391,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"this.title","start":3365,"end":3375,"appendix":[]}],"type":"expression","start":3365,"end":3374},{"terms":[{"type":"constant","name":"rows.join","start":3377,"end":3390,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"string","value":"","start":3387,"end":3389,"appendix":[]}],"type":"expression","start":3387,"end":3388}]}]}],"type":"expression","start":3376,"end":3389}]}]}],"type":"expression","start":3347,"end":3390},"start":3334,"end":3391}],"start":3027,"end":3395}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":3005,"doc":[],"end":3395},{"type":"method","name":"getPlain","value":{"type":"method","parameters":[],"body":{"type":"block","code":[{"type":"return","expression":{"terms":[{"type":"constant","name":"this.plainText","start":3431,"end":3445,"appendix":[]}],"type":"expression","start":3431,"end":3444},"start":3424,"end":3445}],"start":3419,"end":3449}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":3396,"doc":[],"end":3449},{"type":"method","name":"plain","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":3497,"end":3503,"template":false},"doc":[],"name":"content","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.plainText","start":3518,"end":3532,"appendix":[]}},{"type":"constant","name":"content","start":3535,"end":3542,"appendix":[]}],"type":"expression","start":3518,"end":3542},{"type":"return","expression":{"terms":[{"type":"constant","name":"this","start":3556,"end":3560,"appendix":[]}],"type":"expression","start":3556,"end":3559},"start":3543,"end":3560}],"start":3513,"end":3564}},"output":{"name":"Websom.Adapters.Email.EmailTemplate","template":[]},"flags":[],"templates":[],"start":3450,"doc":[],"end":3564},{"type":"method","name":"row","value":{"type":"method","parameters":[],"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"this.rows.push","start":3617,"end":3664,"appendix":[{"type":"call","expression":[{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.Adapters.Email.Row","start":3636,"end":3663,"appendix":[{"type":"call","expression":[]}]}],"type":"expression","start":3636,"end":3662},"start":3632,"end":3663,"appendix":[]}],"type":"expression","start":3632,"end":3662}]}]}],"type":"expression","start":3617,"end":3664},{"type":"return","expression":{"terms":[{"type":"constant","name":"this","start":3678,"end":3682,"appendix":[]}],"type":"expression","start":3678,"end":3681},"start":3665,"end":3682}],"start":3612,"end":3686}},"output":{"name":"Websom.Adapters.Email.EmailTemplate","template":[]},"flags":[],"templates":[],"start":3565,"doc":[],"end":3686},{"type":"method","name":"column","value":{"type":"method","parameters":[],"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"this.rows","start":3742,"end":3822,"appendix":[{"type":"index","expression":{"terms":[{"operator":"-","term":{"type":"constant","name":"this.rows.length","start":3752,"end":3768,"appendix":[]}},{"type":"literal","literalType":"number","value":1,"integer":true,"start":3771,"end":3772,"appendix":[]}],"type":"expression","start":3752,"end":3771}},{"type":"dot","name":"columns.push"},{"type":"call","expression":[{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.Adapters.Email.Column","start":3791,"end":3821,"appendix":[{"type":"call","expression":[]}]}],"type":"expression","start":3791,"end":3820},"start":3787,"end":3821,"appendix":[]}],"type":"expression","start":3787,"end":3820}]}]}],"type":"expression","start":3742,"end":3822},{"type":"return","expression":{"terms":[{"type":"constant","name":"this","start":3836,"end":3840,"appendix":[]}],"type":"expression","start":3836,"end":3839},"start":3823,"end":3840}],"start":3737,"end":3844}},"output":{"name":"Websom.Adapters.Email.EmailTemplate","template":[]},"flags":[],"templates":[],"start":3687,"doc":[],"end":3844},{"type":"method","name":"button","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":3893,"end":3899,"template":false},"doc":[],"name":"label","optional":[]},{"type":{"name":"string","reference":0,"start":3907,"end":3913,"template":false},"doc":[],"name":"href","optional":[]}],"body":{"type":"block","code":[{"type":"define","name":"columns","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"this.rows","start":3939,"end":3978,"appendix":[{"type":"index","expression":{"terms":[{"operator":"-","term":{"type":"constant","name":"this.rows.length","start":3949,"end":3965,"appendix":[]}},{"type":"literal","literalType":"number","value":1,"integer":true,"start":3968,"end":3969,"appendix":[]}],"type":"expression","start":3949,"end":3968}},{"type":"dot","name":"columns"}]}],"type":"expression","start":3939,"end":3977},"start":3925,"end":3978},{"terms":[{"type":"constant","name":"columns","start":3983,"end":4074,"appendix":[{"type":"index","expression":{"terms":[{"operator":"-","term":{"type":"constant","name":"columns.length","start":3991,"end":4005,"appendix":[]}},{"type":"literal","literalType":"number","value":1,"integer":true,"start":4008,"end":4009,"appendix":[]}],"type":"expression","start":3991,"end":4008}},{"type":"dot","name":"content.push"},{"type":"call","expression":[{"terms":[{"operator":"+","term":{"type":"literal","literalType":"string","value":"<p><a href=\"","start":4024,"end":4038,"appendix":[]}},{"operator":"+","term":{"type":"constant","name":"href","start":4041,"end":4045,"appendix":[]}},{"operator":"+","term":{"type":"literal","literalType":"string","value":"\">","start":4048,"end":4052,"appendix":[]}},{"operator":"+","term":{"type":"constant","name":"label","start":4055,"end":4060,"appendix":[]}},{"type":"literal","literalType":"string","value":"</a></p>","start":4063,"end":4073,"appendix":[]}],"type":"expression","start":4024,"end":4072}]}]}],"type":"expression","start":3979,"end":4074},{"type":"return","expression":{"terms":[{"type":"constant","name":"this","start":4088,"end":4092,"appendix":[]}],"type":"expression","start":4088,"end":4091},"start":4075,"end":4092}],"start":3920,"end":4096}},"output":{"name":"Websom.Adapters.Email.EmailTemplate","template":[]},"flags":[],"templates":[],"start":3845,"doc":[],"end":4096},{"type":"method","name":"paragraph","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":4148,"end":4154,"template":false},"doc":[],"name":"content","optional":[]}],"body":{"type":"block","code":[{"type":"define","name":"columns","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"this.rows","start":4183,"end":4222,"appendix":[{"type":"index","expression":{"terms":[{"operator":"-","term":{"type":"constant","name":"this.rows.length","start":4193,"end":4209,"appendix":[]}},{"type":"literal","literalType":"number","value":1,"integer":true,"start":4212,"end":4213,"appendix":[]}],"type":"expression","start":4193,"end":4212}},{"type":"dot","name":"columns"}]}],"type":"expression","start":4183,"end":4221},"start":4169,"end":4222},{"terms":[{"type":"constant","name":"columns","start":4227,"end":4293,"appendix":[{"type":"index","expression":{"terms":[{"operator":"-","term":{"type":"constant","name":"columns.length","start":4235,"end":4249,"appendix":[]}},{"type":"literal","literalType":"number","value":1,"integer":true,"start":4252,"end":4253,"appendix":[]}],"type":"expression","start":4235,"end":4252}},{"type":"dot","name":"content.push"},{"type":"call","expression":[{"terms":[{"operator":"+","term":{"type":"literal","literalType":"string","value":"<p>","start":4268,"end":4273,"appendix":[]}},{"operator":"+","term":{"type":"constant","name":"content","start":4276,"end":4283,"appendix":[]}},{"type":"literal","literalType":"string","value":"</p>","start":4286,"end":4292,"appendix":[]}],"type":"expression","start":4268,"end":4291}]}]}],"type":"expression","start":4223,"end":4293},{"type":"return","expression":{"terms":[{"type":"constant","name":"this","start":4307,"end":4311,"appendix":[]}],"type":"expression","start":4307,"end":4310},"start":4294,"end":4311}],"start":4164,"end":4315}},"output":{"name":"Websom.Adapters.Email.EmailTemplate","template":[]},"flags":[],"templates":[],"start":4097,"doc":[],"end":4315},{"type":"method","name":"raw","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":4361,"end":4367,"template":false},"doc":[],"name":"html","optional":[]}],"body":{"type":"block","code":[{"type":"define","name":"columns","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"this.rows","start":4393,"end":4432,"appendix":[{"type":"index","expression":{"terms":[{"operator":"-","term":{"type":"constant","name":"this.rows.length","start":4403,"end":4419,"appendix":[]}},{"type":"literal","literalType":"number","value":1,"integer":true,"start":4422,"end":4423,"appendix":[]}],"type":"expression","start":4403,"end":4422}},{"type":"dot","name":"columns"}]}],"type":"expression","start":4393,"end":4431},"start":4379,"end":4432},{"terms":[{"type":"constant","name":"columns","start":4437,"end":4483,"appendix":[{"type":"index","expression":{"terms":[{"operator":"-","term":{"type":"constant","name":"columns.length","start":4445,"end":4459,"appendix":[]}},{"type":"literal","literalType":"number","value":1,"integer":true,"start":4462,"end":4463,"appendix":[]}],"type":"expression","start":4445,"end":4462}},{"type":"dot","name":"content.push"},{"type":"call","expression":[{"terms":[{"type":"constant","name":"html","start":4478,"end":4482,"appendix":[]}],"type":"expression","start":4478,"end":4481}]}]}],"type":"expression","start":4433,"end":4483},{"type":"return","expression":{"terms":[{"type":"constant","name":"this","start":4497,"end":4501,"appendix":[]}],"type":"expression","start":4497,"end":4500},"start":4484,"end":4501}],"start":4374,"end":4505}},"output":{"name":"Websom.Adapters.Email.EmailTemplate","template":[]},"flags":[],"templates":[],"start":4316,"doc":[],"end":4505},{"type":"method","name":"htmlTemplate","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":4531,"end":4537,"template":false},"doc":[],"name":"title","optional":[]},{"type":{"name":"string","reference":0,"start":4545,"end":4551,"template":false},"doc":[],"name":"rows","optional":[]}],"body":{"type":"block","code":[{"type":"return","expression":{"terms":[{"operator":"+","term":{"type":"literal","literalType":"string","value":"<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\r\n\t\t<html xmlns=\"http://www.w3.org/1999/xhtml\">\r\n\t\t\t<head>\r\n\t\t\t\t<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"/>\r\n\t\t\t\t<meta name=\"format-detection\" content=\"telephone=no\"> \r\n\t\t\t\t<meta name=\"viewport\" content=\"width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=no;\">\r\n\t\t\t\t<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9; IE=8; IE=7; IE=EDGE\" />\r\n\r\n\t\t\t\t<title>","start":4570,"end":5093,"appendix":[]}},{"operator":"+","term":{"type":"constant","name":"title","start":5096,"end":5101,"appendix":[]}},{"operator":"+","term":{"type":"literal","literalType":"string","value":"</title>\r\n\r\n\t\t\t\t<style type=\"text/css\"> \r\n\t\t\t\t\t@media screen and (max-width: 630px) {\r\n\r\n\t\t\t\t\t}\r\n\t\t\t\t</style>\r\n\t\t\t</head>\r\n\r\n\t\t\t<body style=\"padding:0; margin:0\">\r\n\r\n\t\t\t<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"margin: 0; padding: 0\" width=\"100%\">\r\n\t\t\t\t<tr>\r\n\t\t\t\t\t<td align=\"center\" valign=\"top\">\r\n\t\t\t\t\t\t","start":5104,"end":5425,"appendix":[]}},{"operator":"+","term":{"type":"constant","name":"rows","start":5428,"end":5432,"appendix":[]}},{"type":"literal","literalType":"string","value":"\r\n\t\t\t\t\t</td>\r\n\t\t\t\t</tr>\r\n\t\t\t</table>\r\n\r\n\t\t\t</body>\r\n\t\t</html>","start":5435,"end":5498,"appendix":[]}],"type":"expression","start":4570,"end":5497},"start":4563,"end":5498}],"start":4558,"end":5502}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":4506,"doc":[],"end":5502}],"templates":[],"start":2493,"end":5505}},{"type": "class", "base": "namespace", "flags": [], "templates": [], "route": "Websom.Adapters.Confirmation", "name": "Confirmation", "inherits": ["everything"], "members": []},{"type": "class", "base": "class", "flags": ["header","header"], "templates": [], "route": "Websom.Adapters.Confirmation.Adapter", "name": "Adapter", "inherits": ["Websom.Adapter","everything"], "members": [{"type": "property", "binding": "bound", "name": "handlers",  "output": {"name": "array", "template": [{"name": "Websom.Adapters.Confirmation.Handler", "template": []}]}},{"type": "method", "binding": "bound", "name": "confirm",  "output": {"name": "Websom.Adapters.Confirmation.Confirmation", "template": []}, "arguments": [{"optional": "false", "name": "key", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "handleConfirmation",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "key", "type": {"name": "string", "template": []}},{"optional": "false", "name": "handler", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.Adapters.Confirmation.Execution", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "dispatch",  "output": {"name": "Websom.Adapters.Confirmation.ConfirmationResults", "template": []}, "arguments": [{"optional": "false", "name": "confirmation", "type": {"name": "Websom.Adapters.Confirmation.Confirmation", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "property", "binding": "bound", "name": "adapterKey",  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "initialize",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "shutdown",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": true, "isAsync": true}], "raw": {"type":"class","doc":[],"flags":["header","header"],"name":"Websom.Adapters.Confirmation.Adapter","members":[{"type":"property","doc":[],"output":{"name":"array","reference":0,"start":122,"end":165,"template":[{"name":"Websom.Adapters.Confirmation.Handler","reference":0,"start":123,"end":159,"template":false}]},"name":"handlers","value":{"type":"property","value":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"array","start":181,"end":226,"appendix":[{"type":"call","expression":[]}],"template":[{"name":"Websom.Adapters.Confirmation.Handler","reference":0,"start":182,"end":218,"template":false}]}],"type":"expression","start":181,"end":225},"start":177,"end":226,"appendix":[]}],"type":"expression","start":177,"end":225}},"flags":[],"templates":[],"start":122,"end":226},{"type":"method","name":"confirm","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":282,"end":288,"template":false},"doc":[],"name":"key","optional":[]}],"body":{"type":"block","code":[{"type":"return","expression":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.Adapters.Confirmation.Confirmation","start":310,"end":362,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"this","start":352,"end":356,"appendix":[]}],"type":"expression","start":352,"end":355},{"terms":[{"type":"constant","name":"key","start":358,"end":361,"appendix":[]}],"type":"expression","start":357,"end":360}]}]}],"type":"expression","start":310,"end":361},"start":306,"end":362,"appendix":[]}],"type":"expression","start":306,"end":361},"start":299,"end":362}],"start":294,"end":366}},"output":{"name":"Websom.Adapters.Confirmation.Confirmation","template":[]},"flags":[],"templates":[],"start":227,"doc":[],"end":366},{"type":"method","name":"handleConfirmation","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":396,"end":402,"template":false},"doc":[],"name":"key","optional":[]},{"type":{"name":"function","reference":0,"start":408,"end":462,"template":[{"name":"void","reference":0,"start":409,"end":413,"template":false},{"name":"Websom.Adapters.Confirmation.Execution","reference":0,"start":414,"end":453,"template":false}]},"doc":[],"name":"handler","optional":[]}],"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"this.handlers.push","start":477,"end":551,"appendix":[{"type":"call","expression":[{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.Adapters.Confirmation.Handler","start":500,"end":550,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"key","start":537,"end":540,"appendix":[]}],"type":"expression","start":537,"end":539},{"terms":[{"type":"constant","name":"handler","start":542,"end":549,"appendix":[]}],"type":"expression","start":541,"end":548}]}]}],"type":"expression","start":500,"end":549},"start":496,"end":550,"appendix":[]}],"type":"expression","start":496,"end":549}]}]}],"type":"expression","start":477,"end":551}],"start":472,"end":555}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":367,"doc":[],"end":555},{"type":"method","name":"dispatch","value":{"type":"method","parameters":[{"type":{"name":"Websom.Adapters.Confirmation.Confirmation","reference":0,"start":634,"end":675,"template":false},"doc":[],"name":"confirmation","optional":[]}],"body":{"type":"block","code":[],"start":690,"end":696}},"output":{"name":"Websom.Adapters.Confirmation.ConfirmationResults","template":[]},"flags":[],"templates":[],"start":556,"attribute":[{"key":"ForceAsync","value":true}],"doc":[],"end":696}],"inherits":{"types":[{"name":"Websom.Adapter","reference":0,"start":103,"end":117,"template":false}]},"templates":[],"start":41,"end":699}},{"type": "class", "base": "class", "flags": ["header"], "templates": [], "route": "Websom.Adapters.Confirmation.Handler", "name": "Handler", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "key",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "handler",  "output": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.Adapters.Confirmation.Execution", "template": []}]}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "key", "type": {"name": "string", "template": []}},{"optional": "false", "name": "handler", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.Adapters.Confirmation.Execution", "template": []}]}}], "isImplicitAsync": false, "isAsync": false}], "raw": {"type":"class","doc":[],"flags":["header"],"name":"Websom.Adapters.Confirmation.Handler","members":[{"type":"property","name":"key","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":771,"end":773,"appendix":[]}],"type":"expression","start":771,"end":772}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":758,"doc":[],"end":773},{"type":"property","doc":[],"output":{"name":"function","reference":0,"start":777,"end":831,"template":[{"name":"void","reference":0,"start":778,"end":782,"template":false},{"name":"Websom.Adapters.Confirmation.Execution","reference":0,"start":783,"end":822,"template":false}]},"name":"handler","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":842,"end":846,"appendix":[]}],"type":"expression","start":842,"end":845}},"flags":[],"templates":[],"start":774,"end":846},{"type":"method","name":"@construct","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":868,"end":874,"template":false},"doc":[],"name":"key","optional":[]},{"type":{"name":"function","reference":0,"start":880,"end":934,"template":[{"name":"void","reference":0,"start":881,"end":885,"template":false},{"name":"Websom.Adapters.Confirmation.Execution","reference":0,"start":886,"end":925,"template":false}]},"doc":[],"name":"handler","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.key","start":949,"end":957,"appendix":[]}},{"type":"constant","name":"key","start":960,"end":963,"appendix":[]}],"type":"expression","start":949,"end":963},{"terms":[{"operator":"=","term":{"type":"constant","name":"this.handler","start":968,"end":980,"appendix":[]}},{"type":"constant","name":"handler","start":983,"end":990,"appendix":[]}],"type":"expression","start":964,"end":990}],"start":944,"end":994}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":847,"doc":[],"end":994}],"templates":[],"start":700,"end":997}},{"type": "class", "base": "class", "flags": ["header"], "templates": [], "route": "Websom.Adapters.Confirmation.Execution", "name": "Execution", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "key",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "storage",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "params",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "request",  "output": {"name": "Websom.Request", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "req", "type": {"name": "Websom.Request", "template": []}},{"optional": "false", "name": "key", "type": {"name": "string", "template": []}},{"optional": "false", "name": "storage", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}}], "isImplicitAsync": false, "isAsync": false}], "raw": {"type":"class","doc":[],"flags":["header"],"name":"Websom.Adapters.Confirmation.Execution","members":[{"type":"property","name":"key","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":1071,"end":1073,"appendix":[]}],"type":"expression","start":1071,"end":1072}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":1058,"doc":[],"end":1073},{"type":"property","name":"storage","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":1091,"end":1095,"appendix":[]}],"type":"expression","start":1091,"end":1094}},"output":{"name":"map","template":[]},"flags":[],"templates":[],"start":1074,"doc":[],"end":1095},{"type":"property","name":"params","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":1112,"end":1116,"appendix":[]}],"type":"expression","start":1112,"end":1115}},"output":{"name":"map","template":[]},"flags":[],"templates":[],"start":1096,"doc":[],"end":1116},{"type":"property","name":"request","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":1145,"end":1149,"appendix":[]}],"type":"expression","start":1145,"end":1148}},"output":{"name":"Websom.Request","template":[]},"flags":[],"templates":[],"start":1117,"doc":[],"end":1149},{"type":"method","name":"@construct","value":{"type":"method","parameters":[{"type":{"name":"Websom.Request","reference":0,"start":1171,"end":1185,"template":false},"doc":[],"name":"req","optional":[]},{"type":{"name":"string","reference":0,"start":1191,"end":1197,"template":false},"doc":[],"name":"key","optional":[]},{"type":{"name":"map","reference":0,"start":1203,"end":1206,"template":false},"doc":[],"name":"storage","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.request","start":1221,"end":1233,"appendix":[]}},{"type":"constant","name":"req","start":1236,"end":1239,"appendix":[]}],"type":"expression","start":1221,"end":1239},{"terms":[{"operator":"=","term":{"type":"constant","name":"this.key","start":1244,"end":1252,"appendix":[]}},{"type":"constant","name":"key","start":1255,"end":1258,"appendix":[]}],"type":"expression","start":1240,"end":1258},{"terms":[{"operator":"=","term":{"type":"constant","name":"this.storage","start":1263,"end":1275,"appendix":[]}},{"type":"constant","name":"storage","start":1278,"end":1285,"appendix":[]}],"type":"expression","start":1259,"end":1285}],"start":1216,"end":1289}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":1150,"doc":[],"end":1289}],"templates":[],"start":998,"end":1292}},{"type": "class", "base": "class", "flags": ["header"], "templates": [], "route": "Websom.Adapters.Confirmation.Confirmation", "name": "Confirmation", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "adapter",  "output": {"name": "Websom.Adapters.Confirmation.Adapter", "template": []}},{"type": "property", "binding": "bound", "name": "key",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "emailSubject",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "confirmationMessage",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "notificationService",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "method",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "storage",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "recipient",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "ip",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "ttl",  "output": {"name": "uint64", "template": []}},{"type": "method", "binding": "bound", "name": "@construct", "flags": ["trust"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "adapter", "type": {"name": "Websom.Adapters.Confirmation.Adapter", "template": []}},{"optional": "false", "name": "key", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "subject",  "output": {"name": "Websom.Adapters.Confirmation.Confirmation", "template": []}, "arguments": [{"optional": "false", "name": "val", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "message",  "output": {"name": "Websom.Adapters.Confirmation.Confirmation", "template": []}, "arguments": [{"optional": "false", "name": "val", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "store",  "output": {"name": "Websom.Adapters.Confirmation.Confirmation", "template": []}, "arguments": [{"optional": "false", "name": "val", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "via",  "output": {"name": "Websom.Adapters.Confirmation.Confirmation", "template": []}, "arguments": [{"optional": "false", "name": "val", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "dispatch",  "output": {"name": "Websom.Adapters.Confirmation.ConfirmationResults", "template": []}, "arguments": [], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "using",  "output": {"name": "Websom.Adapters.Confirmation.Confirmation", "template": []}, "arguments": [{"optional": "false", "name": "val", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "to",  "output": {"name": "Websom.Adapters.Confirmation.Confirmation", "template": []}, "arguments": [{"optional": "false", "name": "val", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "createdBy",  "output": {"name": "Websom.Adapters.Confirmation.Confirmation", "template": []}, "arguments": [{"optional": "false", "name": "ip", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "expiresAfter",  "output": {"name": "Websom.Adapters.Confirmation.Confirmation", "template": []}, "arguments": [{"optional": "false", "name": "ms", "type": {"name": "uint64", "template": []}}], "isImplicitAsync": false, "isAsync": false}], "raw": {"type":"class","doc":[],"flags":["header"],"name":"Websom.Adapters.Confirmation.Confirmation","members":[{"type":"property","name":"adapter","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":1403,"end":1407,"appendix":[]}],"type":"expression","start":1403,"end":1406}},"output":{"name":"Websom.Adapters.Confirmation.Adapter","template":[]},"flags":[],"templates":[],"start":1356,"doc":[],"end":1407},{"type":"property","name":"key","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":1424,"end":1426,"appendix":[]}],"type":"expression","start":1424,"end":1425}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":1408,"doc":[],"end":1426},{"type":"property","name":"emailSubject","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":1454,"end":1456,"appendix":[]}],"type":"expression","start":1454,"end":1455}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":1427,"doc":[],"end":1456},{"type":"property","name":"confirmationMessage","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":1491,"end":1493,"appendix":[]}],"type":"expression","start":1491,"end":1492}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":1457,"doc":[],"end":1493},{"type":"property","name":"notificationService","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"direct","start":1529,"end":1537,"appendix":[]}],"type":"expression","start":1529,"end":1536}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":1494,"doc":[],"end":1537},{"type":"property","name":"method","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"link","start":1557,"end":1563,"appendix":[]}],"type":"expression","start":1557,"end":1562}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":1538,"doc":[],"end":1563},{"type":"property","name":"storage","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":1583,"end":1587,"appendix":[]}],"type":"expression","start":1583,"end":1586}},"output":{"name":"map","template":[]},"flags":[],"templates":[],"start":1564,"doc":[],"end":1587},{"type":"property","name":"recipient","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":1612,"end":1614,"appendix":[]}],"type":"expression","start":1612,"end":1613}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":1588,"doc":[],"end":1614},{"type":"property","name":"ip","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":1632,"end":1634,"appendix":[]}],"type":"expression","start":1632,"end":1633}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":1615,"doc":[],"end":1634},{"type":"property","name":"ttl","value":{"type":"property","value":{"terms":[{"operator":"*","term":{"type":"literal","literalType":"number","value":1000,"integer":true,"start":1653,"end":1657,"appendix":[]}},{"operator":"*","term":{"type":"literal","literalType":"number","value":60,"integer":true,"start":1660,"end":1662,"appendix":[]}},{"type":"literal","literalType":"number","value":60,"integer":true,"start":1665,"end":1667,"appendix":[]}],"type":"expression","start":1653,"end":1666}},"output":{"name":"uint64","template":[]},"flags":[],"templates":[],"start":1635,"doc":[],"end":1667},{"type":"method","name":"@construct","value":{"type":"method","parameters":[{"type":{"name":"Websom.Adapters.Confirmation.Adapter","reference":0,"start":1704,"end":1740,"template":false},"doc":[],"name":"adapter","optional":[]},{"type":{"name":"string","reference":0,"start":1750,"end":1756,"template":false},"doc":[],"name":"key","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.adapter","start":1767,"end":1779,"appendix":[]}},{"type":"constant","name":"adapter","start":1782,"end":1789,"appendix":[]}],"type":"expression","start":1767,"end":1789},{"terms":[{"operator":"=","term":{"type":"constant","name":"this.key","start":1794,"end":1802,"appendix":[]}},{"type":"constant","name":"key","start":1805,"end":1808,"appendix":[]}],"type":"expression","start":1790,"end":1808}],"start":1762,"end":1812}},"output":{"name":"void","template":[]},"flags":["trust"],"templates":[],"start":1668,"doc":[],"end":1812},{"type":"method","name":"subject","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":1868,"end":1874,"template":false},"doc":[],"name":"val","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.emailSubject","start":1885,"end":1902,"appendix":[]}},{"type":"constant","name":"val","start":1905,"end":1908,"appendix":[]}],"type":"expression","start":1885,"end":1908},{"type":"return","expression":{"terms":[{"type":"constant","name":"this","start":1922,"end":1926,"appendix":[]}],"type":"expression","start":1922,"end":1925},"start":1909,"end":1926}],"start":1880,"end":1930}},"output":{"name":"Websom.Adapters.Confirmation.Confirmation","template":[]},"flags":[],"templates":[],"start":1813,"doc":[],"end":1930},{"type":"method","name":"message","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":1986,"end":1992,"template":false},"doc":[],"name":"val","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.confirmationMessage","start":2003,"end":2027,"appendix":[]}},{"type":"constant","name":"val","start":2030,"end":2033,"appendix":[]}],"type":"expression","start":2003,"end":2033},{"type":"return","expression":{"terms":[{"type":"constant","name":"this","start":2049,"end":2053,"appendix":[]}],"type":"expression","start":2049,"end":2052},"start":2034,"end":2053}],"start":1998,"end":2057}},"output":{"name":"Websom.Adapters.Confirmation.Confirmation","template":[]},"flags":[],"templates":[],"start":1931,"doc":[],"end":2057},{"type":"method","name":"store","value":{"type":"method","parameters":[{"type":{"name":"map","reference":0,"start":2111,"end":2114,"template":false},"doc":[],"name":"val","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.storage","start":2125,"end":2137,"appendix":[]}},{"type":"constant","name":"val","start":2140,"end":2143,"appendix":[]}],"type":"expression","start":2125,"end":2143},{"type":"return","expression":{"terms":[{"type":"constant","name":"this","start":2159,"end":2163,"appendix":[]}],"type":"expression","start":2159,"end":2162},"start":2144,"end":2163}],"start":2120,"end":2167}},"output":{"name":"Websom.Adapters.Confirmation.Confirmation","template":[]},"flags":[],"templates":[],"start":2058,"doc":[],"end":2167},{"type":"method","name":"via","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":2219,"end":2225,"template":false},"doc":[],"name":"val","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.notificationService","start":2236,"end":2260,"appendix":[]}},{"type":"constant","name":"val","start":2263,"end":2266,"appendix":[]}],"type":"expression","start":2236,"end":2266},{"type":"return","expression":{"terms":[{"type":"constant","name":"this","start":2282,"end":2286,"appendix":[]}],"type":"expression","start":2282,"end":2285},"start":2267,"end":2286}],"start":2231,"end":2290}},"output":{"name":"Websom.Adapters.Confirmation.Confirmation","template":[]},"flags":[],"templates":[],"start":2168,"doc":[],"end":2290},{"type":"method","name":"dispatch","value":{"type":"method","parameters":[],"body":{"type":"block","code":[{"type":"return","expression":{"terms":[{"type":"constant","name":"this.adapter.dispatch","start":2368,"end":2395,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"this","start":2390,"end":2394,"appendix":[]}],"type":"expression","start":2390,"end":2393}]}]}],"type":"expression","start":2368,"end":2394},"start":2361,"end":2395}],"start":2356,"end":2399}},"output":{"name":"Websom.Adapters.Confirmation.ConfirmationResults","template":[]},"flags":[],"templates":[],"start":2291,"doc":[],"end":2399},{"type":"method","name":"using","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":2453,"end":2459,"template":false},"doc":[],"name":"val","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.method","start":2470,"end":2481,"appendix":[]}},{"type":"constant","name":"val","start":2484,"end":2487,"appendix":[]}],"type":"expression","start":2470,"end":2487},{"type":"return","expression":{"terms":[{"type":"constant","name":"this","start":2503,"end":2507,"appendix":[]}],"type":"expression","start":2503,"end":2506},"start":2488,"end":2507}],"start":2465,"end":2511}},"output":{"name":"Websom.Adapters.Confirmation.Confirmation","template":[]},"flags":[],"templates":[],"start":2400,"doc":[],"end":2511},{"type":"method","name":"to","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":2562,"end":2568,"template":false},"doc":[],"name":"val","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.recipient","start":2579,"end":2593,"appendix":[]}},{"type":"constant","name":"val","start":2596,"end":2599,"appendix":[]}],"type":"expression","start":2579,"end":2599},{"type":"return","expression":{"terms":[{"type":"constant","name":"this","start":2615,"end":2619,"appendix":[]}],"type":"expression","start":2615,"end":2618},"start":2600,"end":2619}],"start":2574,"end":2623}},"output":{"name":"Websom.Adapters.Confirmation.Confirmation","template":[]},"flags":[],"templates":[],"start":2512,"doc":[],"end":2623},{"type":"method","name":"createdBy","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":2681,"end":2687,"template":false},"doc":[],"name":"ip","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.ip","start":2697,"end":2704,"appendix":[]}},{"type":"constant","name":"ip","start":2707,"end":2709,"appendix":[]}],"type":"expression","start":2697,"end":2709},{"type":"return","expression":{"terms":[{"type":"constant","name":"this","start":2725,"end":2729,"appendix":[]}],"type":"expression","start":2725,"end":2728},"start":2710,"end":2729}],"start":2692,"end":2733}},"output":{"name":"Websom.Adapters.Confirmation.Confirmation","template":[]},"flags":[],"templates":[],"start":2624,"doc":[],"end":2733},{"type":"method","name":"expiresAfter","value":{"type":"method","parameters":[{"type":{"name":"uint64","reference":0,"start":2794,"end":2800,"template":false},"doc":[],"name":"ms","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.ttl","start":2810,"end":2818,"appendix":[]}},{"type":"constant","name":"ms","start":2821,"end":2823,"appendix":[]}],"type":"expression","start":2810,"end":2823},{"type":"return","expression":{"terms":[{"type":"constant","name":"this","start":2839,"end":2843,"appendix":[]}],"type":"expression","start":2839,"end":2842},"start":2824,"end":2843}],"start":2805,"end":2847}},"output":{"name":"Websom.Adapters.Confirmation.Confirmation","template":[]},"flags":[],"templates":[],"start":2734,"doc":[],"end":2847}],"templates":[],"start":1293,"end":2850}},{"type": "class", "base": "class", "flags": ["header"], "templates": [], "route": "Websom.Adapters.Confirmation.ConfirmationResults", "name": "ConfirmationResults", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "secret",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "url",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "status",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "message",  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "secret", "type": {"name": "string", "template": []}},{"optional": "false", "name": "url", "type": {"name": "string", "template": []}},{"optional": "false", "name": "status", "type": {"name": "string", "template": []}},{"optional": "false", "name": "message", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false}], "raw": {"type":"class","doc":[],"flags":["header"],"name":"Websom.Adapters.Confirmation.ConfirmationResults","members":[{"type":"property","name":"secret","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":2937,"end":2939,"appendix":[]}],"type":"expression","start":2937,"end":2938}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":2921,"doc":[],"end":2939},{"type":"property","name":"url","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":2956,"end":2958,"appendix":[]}],"type":"expression","start":2956,"end":2957}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":2940,"doc":[],"end":2958},{"type":"property","name":"status","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":2978,"end":2980,"appendix":[]}],"type":"expression","start":2978,"end":2979}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":2959,"doc":[],"end":2980},{"type":"property","name":"message","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":3001,"end":3003,"appendix":[]}],"type":"expression","start":3001,"end":3002}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":2981,"doc":[],"end":3003},{"type":"method","name":"@construct","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":3025,"end":3031,"template":false},"doc":[],"name":"secret","optional":[]},{"type":{"name":"string","reference":0,"start":3040,"end":3046,"template":false},"doc":[],"name":"url","optional":[]},{"type":{"name":"string","reference":0,"start":3052,"end":3058,"template":false},"doc":[],"name":"status","optional":[]},{"type":{"name":"string","reference":0,"start":3067,"end":3073,"template":false},"doc":[],"name":"message","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.secret","start":3088,"end":3099,"appendix":[]}},{"type":"constant","name":"secret","start":3102,"end":3108,"appendix":[]}],"type":"expression","start":3088,"end":3108},{"terms":[{"operator":"=","term":{"type":"constant","name":"this.url","start":3113,"end":3121,"appendix":[]}},{"type":"constant","name":"url","start":3124,"end":3127,"appendix":[]}],"type":"expression","start":3109,"end":3127},{"terms":[{"operator":"=","term":{"type":"constant","name":"this.status","start":3132,"end":3143,"appendix":[]}},{"type":"constant","name":"status","start":3146,"end":3152,"appendix":[]}],"type":"expression","start":3128,"end":3152},{"terms":[{"operator":"=","term":{"type":"constant","name":"this.message","start":3157,"end":3169,"appendix":[]}},{"type":"constant","name":"message","start":3172,"end":3179,"appendix":[]}],"type":"expression","start":3153,"end":3179}],"start":3083,"end":3183}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":3004,"doc":[],"end":3183}],"templates":[],"start":2851,"end":3186}},{"type": "class", "base": "namespace", "flags": [], "templates": [], "route": "Websom.Adapters.Captcha", "name": "Captcha", "inherits": ["everything"], "members": []},{"type": "class", "base": "class", "flags": ["header","header"], "templates": [], "route": "Websom.Adapters.Captcha.Adapter", "name": "Adapter", "inherits": ["Websom.Adapter","everything"], "members": [{"type": "method", "binding": "bound", "name": "clientInitialization",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}, "arguments": [{"optional": "false", "name": "req", "type": {"name": "Websom.Request", "template": []}},{"optional": "false", "name": "action", "type": {"name": "string", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "verify",  "output": {"name": "Websom.Adapters.Captcha.Report", "template": []}, "arguments": [{"optional": "false", "name": "req", "type": {"name": "Websom.Request", "template": []}},{"optional": "false", "name": "payload", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}}], "isImplicitAsync": true, "isAsync": true},{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "property", "binding": "bound", "name": "adapterKey",  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "initialize",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "shutdown",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": true, "isAsync": true}], "raw": {"type":"class","doc":[],"flags":["header","header"],"name":"Websom.Adapters.Captcha.Adapter","members":[{"type":"method","name":"clientInitialization","value":{"type":"method","parameters":[{"type":{"name":"Websom.Request","reference":0,"start":152,"end":166,"template":false},"doc":[],"name":"req","optional":[]},{"type":{"name":"string","reference":0,"start":172,"end":178,"template":false},"doc":[],"name":"action","optional":[]}],"body":{"type":"block","code":[],"start":187,"end":188}},"output":{"name":"map","template":[]},"flags":[],"templates":[],"start":112,"attribute":[{"key":"ForceAsync","value":true}],"doc":[],"end":188},{"type":"method","name":"verify","value":{"type":"method","parameters":[{"type":{"name":"Websom.Request","reference":0,"start":248,"end":262,"template":false},"doc":[],"name":"req","optional":[]},{"type":{"name":"map","reference":0,"start":268,"end":271,"template":false},"doc":[],"name":"payload","optional":[]}],"body":{"type":"block","code":[],"start":281,"end":282}},"output":{"name":"Websom.Adapters.Captcha.Report","template":[]},"flags":[],"templates":[],"start":189,"attribute":[{"key":"ForceAsync","value":true}],"doc":[],"end":282}],"inherits":{"types":[{"name":"Websom.Adapter","reference":0,"start":93,"end":107,"template":false}]},"templates":[],"start":36,"end":285}},{"type": "class", "base": "class", "flags": ["header"], "templates": [], "route": "Websom.Adapters.Captcha.Report", "name": "Report", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "token",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "id",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "score",  "output": {"name": "float", "template": []}},{"type": "property", "binding": "bound", "name": "action",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "initialized",  "output": {"name": "uint64", "template": []}},{"type": "property", "binding": "bound", "name": "hostname",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "status",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "message",  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false}], "raw": {"type":"class","doc":[],"flags":["header"],"name":"Websom.Adapters.Captcha.Report","members":[{"type":"property","name":"token","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":353,"end":355,"appendix":[]}],"type":"expression","start":353,"end":354}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":338,"doc":[],"end":355},{"type":"property","name":"id","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":371,"end":373,"appendix":[]}],"type":"expression","start":371,"end":372}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":356,"doc":[],"end":373},{"type":"property","name":"score","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"number","value":0,"integer":true,"start":391,"end":392,"appendix":[]}],"type":"expression","start":391,"end":391}},"output":{"name":"float","template":[]},"flags":[],"templates":[],"start":374,"doc":[],"end":392},{"type":"property","name":"action","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":412,"end":414,"appendix":[]}],"type":"expression","start":412,"end":413}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":393,"doc":[],"end":414},{"type":"property","name":"initialized","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"number","value":0,"integer":true,"start":439,"end":440,"appendix":[]}],"type":"expression","start":439,"end":439}},"output":{"name":"uint64","template":[]},"flags":[],"templates":[],"start":415,"doc":[],"end":440},{"type":"property","name":"hostname","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":462,"end":464,"appendix":[]}],"type":"expression","start":462,"end":463}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":441,"doc":[],"end":464},{"type":"property","name":"status","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":486,"end":488,"appendix":[]}],"type":"expression","start":486,"end":487}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":465,"doc":[],"end":488},{"type":"property","name":"message","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":509,"end":511,"appendix":[]}],"type":"expression","start":509,"end":510}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":489,"doc":[],"end":511},{"type":"method","name":"@construct","value":{"type":"method","parameters":[],"body":{"type":"block","code":[],"start":535,"end":543}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":512,"doc":[],"end":543}],"templates":[],"start":286,"end":546}},{"type": "class", "base": "namespace", "flags": [], "templates": [], "route": "Websom.Adapters.Bucket", "name": "Bucket", "inherits": ["everything"], "members": []},{"type": "class", "base": "class", "flags": ["header","header"], "templates": [], "route": "Websom.Adapters.Bucket.Adapter", "name": "Adapter", "inherits": ["Websom.Adapter","everything"], "members": [{"type": "method", "binding": "bound", "name": "generateUploadURL",  "output": {"name": "string", "template": []}, "arguments": [{"optional": "false", "name": "upload", "type": {"name": "Websom.BucketUpload", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "deleteObject",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "bucket", "type": {"name": "Websom.Bucket", "template": []}},{"optional": "false", "name": "filename", "type": {"name": "string", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "createDirectory",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "bucket", "type": {"name": "Websom.Bucket", "template": []}},{"optional": "false", "name": "path", "type": {"name": "string", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "setObjectACL",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "bucket", "type": {"name": "Websom.Bucket", "template": []}},{"optional": "false", "name": "filename", "type": {"name": "string", "template": []}},{"optional": "false", "name": "acl", "type": {"name": "string", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "registerBucket",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "bucket", "type": {"name": "Websom.Bucket", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "serve",  "output": {"name": "string", "template": []}, "arguments": [{"optional": "false", "name": "bucket", "type": {"name": "Websom.Bucket", "template": []}},{"optional": "false", "name": "filename", "type": {"name": "string", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "property", "binding": "bound", "name": "adapterKey",  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "initialize",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "shutdown",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": true, "isAsync": true}], "raw": {"type":"class","doc":[],"flags":["header","header"],"name":"Websom.Adapters.Bucket.Adapter","members":[{"type":"method","name":"generateUploadURL","value":{"type":"method","parameters":[{"type":{"name":"Websom.BucketUpload","reference":0,"start":150,"end":169,"template":false},"doc":[],"name":"upload","optional":[]}],"body":{"type":"block","code":[],"start":178,"end":186}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":110,"attribute":[{"key":"ForceAsync","value":true}],"doc":[],"end":186},{"type":"method","name":"deleteObject","value":{"type":"method","parameters":[{"type":{"name":"Websom.Bucket","reference":0,"start":225,"end":238,"template":false},"doc":[],"name":"bucket","optional":[]},{"type":{"name":"string","reference":0,"start":247,"end":253,"template":false},"doc":[],"name":"filename","optional":[]}],"body":{"type":"block","code":[],"start":264,"end":272}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":187,"attribute":[{"key":"ForceAsync","value":true}],"doc":[],"end":272},{"type":"method","name":"createDirectory","value":{"type":"method","parameters":[{"type":{"name":"Websom.Bucket","reference":0,"start":314,"end":327,"template":false},"doc":[],"name":"bucket","optional":[]},{"type":{"name":"string","reference":0,"start":336,"end":342,"template":false},"doc":[],"name":"path","optional":[]}],"body":{"type":"block","code":[],"start":349,"end":357}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":273,"attribute":[{"key":"ForceAsync","value":true}],"doc":[],"end":357},{"type":"method","name":"setObjectACL","value":{"type":"method","parameters":[{"type":{"name":"Websom.Bucket","reference":0,"start":396,"end":409,"template":false},"doc":[],"name":"bucket","optional":[]},{"type":{"name":"string","reference":0,"start":418,"end":424,"template":false},"doc":[],"name":"filename","optional":[]},{"type":{"name":"string","reference":0,"start":435,"end":441,"template":false},"doc":[],"name":"acl","optional":[]}],"body":{"type":"block","code":[],"start":447,"end":455}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":358,"attribute":[{"key":"ForceAsync","value":true}],"doc":[],"end":455},{"type":"method","name":"registerBucket","value":{"type":"method","parameters":[{"type":{"name":"Websom.Bucket","reference":0,"start":481,"end":494,"template":false},"doc":[],"name":"bucket","optional":[]}],"body":{"type":"block","code":[],"start":503,"end":509}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":456,"doc":[],"end":509},{"type":"method","name":"serve","value":{"type":"method","parameters":[{"type":{"name":"Websom.Bucket","reference":0,"start":543,"end":556,"template":false},"doc":[],"name":"bucket","optional":[]},{"type":{"name":"string","reference":0,"start":565,"end":571,"template":false},"doc":[],"name":"filename","optional":[]}],"body":{"type":"block","code":[],"start":582,"end":588}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":510,"attribute":[{"key":"ForceAsync","value":true}],"doc":[],"end":588}],"inherits":{"types":[{"name":"Websom.Adapter","reference":0,"start":91,"end":105,"template":false}]},"templates":[],"start":35,"end":591}},{"type": "class", "base": "namespace", "flags": [], "templates": [], "route": "Websom.Adapters.UserSystem", "name": "UserSystem", "inherits": ["everything"], "members": []},{"type": "class", "base": "class", "flags": ["header","header"], "templates": [], "route": "Websom.Adapters.UserSystem.Connection", "name": "Connection", "inherits": ["Websom.Adapter","everything"], "members": [{"type": "method", "binding": "bound", "name": "getUser",  "output": {"name": "Websom.Adapters.UserSystem.ConnectionUser", "template": []}, "arguments": [{"optional": "false", "name": "data", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}}], "isImplicitAsync": true, "isAsync": true},{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "property", "binding": "bound", "name": "adapterKey",  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "initialize",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "shutdown",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": true, "isAsync": true}], "raw": {"type":"class","doc":[],"flags":["header","header"],"name":"Websom.Adapters.UserSystem.Connection","members":[{"type":"method","name":"getUser","value":{"type":"method","parameters":[{"type":{"name":"map","reference":0,"start":2541,"end":2544,"template":false},"doc":[],"name":"data","optional":[]}],"body":{"type":"block","code":[],"start":2551,"end":2552}},"output":{"name":"Websom.Adapters.UserSystem.ConnectionUser","template":[]},"flags":[],"templates":[],"start":2476,"attribute":[{"key":"ForceAsync","value":true}],"doc":[],"end":2552}],"inherits":{"types":[{"name":"Websom.Adapter","reference":0,"start":2457,"end":2471,"template":false}]},"templates":[],"start":2394,"end":2555}},{"type": "class", "base": "class", "flags": ["header"], "templates": [], "route": "Websom.Adapters.UserSystem.ConnectionUser", "name": "ConnectionUser", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "firstName",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "lastName",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "username",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "email",  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "firstName", "type": {"name": "string", "template": []}},{"optional": "false", "name": "lastName", "type": {"name": "string", "template": []}},{"optional": "false", "name": "username", "type": {"name": "string", "template": []}},{"optional": "false", "name": "email", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false}], "raw": {"type":"class","doc":[],"flags":["header"],"name":"Websom.Adapters.UserSystem.ConnectionUser","members":[{"type":"property","name":"firstName","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":2638,"end":2640,"appendix":[]}],"type":"expression","start":2638,"end":2639}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":2619,"doc":[],"end":2640},{"type":"property","name":"lastName","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":2662,"end":2664,"appendix":[]}],"type":"expression","start":2662,"end":2663}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":2641,"doc":[],"end":2664},{"type":"property","name":"username","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":2686,"end":2688,"appendix":[]}],"type":"expression","start":2686,"end":2687}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":2665,"doc":[],"end":2688},{"type":"property","name":"email","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":2707,"end":2709,"appendix":[]}],"type":"expression","start":2707,"end":2708}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":2689,"doc":[],"end":2709},{"type":"method","name":"@construct","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":2731,"end":2737,"template":false},"doc":[],"name":"firstName","optional":[]},{"type":{"name":"string","reference":0,"start":2749,"end":2755,"template":false},"doc":[],"name":"lastName","optional":[]},{"type":{"name":"string","reference":0,"start":2766,"end":2772,"template":false},"doc":[],"name":"username","optional":[]},{"type":{"name":"string","reference":0,"start":2783,"end":2789,"template":false},"doc":[],"name":"email","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.firstName","start":2802,"end":2816,"appendix":[]}},{"type":"constant","name":"firstName","start":2819,"end":2828,"appendix":[]}],"type":"expression","start":2802,"end":2828},{"terms":[{"operator":"=","term":{"type":"constant","name":"this.lastName","start":2833,"end":2846,"appendix":[]}},{"type":"constant","name":"lastName","start":2849,"end":2857,"appendix":[]}],"type":"expression","start":2829,"end":2857},{"terms":[{"operator":"=","term":{"type":"constant","name":"this.username","start":2862,"end":2875,"appendix":[]}},{"type":"constant","name":"username","start":2878,"end":2886,"appendix":[]}],"type":"expression","start":2858,"end":2886},{"terms":[{"operator":"=","term":{"type":"constant","name":"this.email","start":2891,"end":2901,"appendix":[]}},{"type":"constant","name":"email","start":2904,"end":2909,"appendix":[]}],"type":"expression","start":2887,"end":2909}],"start":2797,"end":2913}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":2710,"doc":[],"end":2913}],"templates":[],"start":2556,"end":2916}},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Service", "name": "Service", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "preStart",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "start",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "stop",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "end",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "namespace", "flags": [], "templates": [], "route": "Websom.Services", "name": "Services", "inherits": ["everything"], "members": []},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Services.Adaptation", "name": "Adaptation", "inherits": ["Websom.Service","everything"], "members": [{"type": "property", "binding": "bound", "name": "interfaces",  "output": {"name": "array", "template": [{"name": "Websom.AdapterInterface", "template": []}]}},{"type": "method", "binding": "bound", "name": "start", "flags": ["override"],  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "stop", "flags": ["override"],  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "end", "flags": ["override"],  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "shutdown",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "adapt",  "output": {"name": "Websom.AdapterInterface", "template": []}, "arguments": [{"optional": "false", "name": "name", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "preStart",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Services.API", "name": "API", "inherits": ["Websom.Service","everything"], "members": [{"type": "property", "binding": "bound", "name": "baseRoute",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "collections",  "output": {"name": "array", "template": [{"name": "Websom.CollectionInterface", "template": []}]}},{"type": "property", "binding": "bound", "name": "interfaces",  "output": {"name": "array", "template": [{"name": "Websom.PlainInterface", "template": []}]}},{"type": "property", "binding": "bound", "name": "getInterfaces",  "output": {"name": "array", "template": [{"name": "Websom.PlainInterface", "template": []}]}},{"type": "property", "binding": "bound", "name": "chains",  "output": {"name": "array", "template": [{"name": "Websom.APIChain", "template": []}]}},{"type": "property", "binding": "bound", "name": "getChains",  "output": {"name": "array", "template": [{"name": "Websom.APIChain", "template": []}]}},{"type": "property", "binding": "bound", "name": "handlers",  "output": {"name": "map", "template": [{"name": "Websom.EndpointHandler", "template": []}]}},{"type": "method", "binding": "bound", "name": "start", "flags": ["override"],  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "registerEndpointHandler",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "key", "type": {"name": "string", "template": []}},{"optional": "false", "name": "handler", "type": {"name": "Websom.EndpointHandler", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "resolveEndpoint",  "output": {"name": "Websom.CollectionInterfaceRoute", "template": []}, "arguments": [{"optional": "false", "name": "path", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "hit", "flags": ["async"],  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}, "arguments": [{"optional": "false", "name": "identity", "type": {"name": "Websom.Request", "template": []}},{"optional": "false", "name": "route", "type": {"name": "string", "template": []}},{"optional": "false", "name": "body", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}}], "isImplicitAsync": false, "isAsync": true},{"type": "method", "binding": "bound", "name": "hit", "flags": ["async"],  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}, "arguments": [{"optional": "false", "name": "route", "type": {"name": "string", "template": []}},{"optional": "false", "name": "body", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}}], "isImplicitAsync": false, "isAsync": true},{"type": "method", "binding": "bound", "name": "compareRoute",  "output": {"name": "bool", "template": []}, "arguments": [{"optional": "false", "name": "base", "type": {"name": "string", "template": []}},{"optional": "false", "name": "request", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "getRequest",  "output": {"name": "bool", "template": []}, "arguments": [{"optional": "false", "name": "req", "type": {"name": "Websom.Request", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "request",  "output": {"name": "bool", "template": []}, "arguments": [{"optional": "false", "name": "req", "type": {"name": "Websom.Request", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "handleRequest",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "ci", "type": {"name": "Websom.CollectionInterface", "template": []}},{"optional": "false", "name": "cir", "type": {"name": "Websom.CollectionInterfaceRoute", "template": []}},{"optional": "false", "name": "req", "type": {"name": "Websom.Request", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "generateAdminEndpoints", "flags": ["trust"],  "output": {"name": "Websom.CollectionInterface", "template": []}, "arguments": [{"optional": "false", "name": "collection", "type": {"name": "Websom.Adapters.Database.Collection", "template": []}},{"optional": "false", "name": "baseRoute", "type": {"name": "string", "template": []}},{"optional": "false", "name": "perm", "type": {"name": "Websom.Permission", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "interface", "flags": ["trust"],  "output": {"name": "Websom.CollectionInterface", "template": []}, "arguments": [{"optional": "false", "name": "collection", "type": {"name": "Websom.Adapters.Database.Collection", "template": []}},{"optional": "false", "name": "baseRoute", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "route",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "route", "type": {"name": "string", "template": []}},{"optional": "false", "name": "handler", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.Request", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "get",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "route", "type": {"name": "string", "template": []}},{"optional": "false", "name": "handler", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.Request", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "route",  "output": {"name": "Websom.APIChain", "template": []}, "arguments": [{"optional": "false", "name": "route", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "get",  "output": {"name": "Websom.APIChain", "template": []}, "arguments": [{"optional": "false", "name": "route", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "gatherEndpoints",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}, "arguments": [{"optional": "false", "name": "req", "type": {"name": "Websom.Request", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "preStart",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "stop",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "end",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Services.Builder", "name": "Builder", "inherits": ["Websom.Service","everything"], "members": [{"type": "method", "binding": "bound", "name": "buildAll",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "buildClass",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "buildView",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "buildResource",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "preStart",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "start",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "stop",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "end",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Services.Config", "name": "Config", "inherits": ["Websom.Service","everything"], "members": [{"type": "property", "binding": "bound", "name": "optionValues",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "optionValuesFromDatabase",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "optionDefaults",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "colorProfiles",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "navigation",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "publicDefaults",  "output": {"name": "array", "template": [{"name": "array", "template": [{"name": "string", "template": []}]}]}},{"type": "property", "binding": "bound", "name": "publicValueCache",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "publicValues",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "global",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "loaded",  "output": {"name": "bool", "template": []}},{"type": "method", "binding": "bound", "name": "getString",  "output": {"name": "string", "template": []}, "arguments": [{"optional": "false", "name": "route", "type": {"name": "string", "template": []}},{"optional": "false", "name": "option", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "getPrimitive",  "output": {"name": "primitive", "template": []}, "arguments": [{"optional": "false", "name": "route", "type": {"name": "string", "template": []}},{"optional": "false", "name": "option", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "getPrimitiveNonDefault",  "output": {"name": "primitive", "template": []}, "arguments": [{"optional": "false", "name": "route", "type": {"name": "string", "template": []}},{"optional": "false", "name": "option", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "loadFromDatabase",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "load",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "mergeOptions",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "rawOverrides", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "start", "flags": ["override"],  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "logOptions",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "gatherOptions",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "parseViewOptionsIntoMap",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "base", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"optional": "false", "name": "route", "type": {"name": "string", "template": []}},{"optional": "false", "name": "path", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "cacheOptionsFromPackage",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}, "arguments": [{"optional": "false", "name": "ptype", "type": {"name": "string", "template": []}},{"optional": "false", "name": "pid", "type": {"name": "string", "template": []}},{"optional": "false", "name": "baseConfig", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"optional": "false", "name": "root", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "cacheOptions",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "fillDefaults",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "configs", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "getCustomization",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "getColorProfiles",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "getNavigationConfig",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "getConfiguredOptions",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "computeClientData",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}, "arguments": [{"optional": "false", "name": "req", "type": {"name": "Websom.Request", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "preStart",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "stop",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "end",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Services.Confirmation", "name": "Confirmation", "inherits": ["Websom.Service","everything"], "members": [{"type": "property", "binding": "bound", "name": "confirmation",  "output": {"name": "Websom.Adapters.Confirmation.Adapter", "template": []}},{"type": "method", "binding": "bound", "name": "start",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "confirm",  "output": {"name": "Websom.Adapters.Confirmation.Confirmation", "template": []}, "arguments": [{"optional": "false", "name": "key", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "handleConfirmation",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "key", "type": {"name": "string", "template": []}},{"optional": "false", "name": "handler", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.Adapters.Confirmation.Execution", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "preStart",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "start",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "stop",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "end",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Services.Crypto", "name": "Crypto", "inherits": ["Websom.Service","everything"], "members": [{"type": "method", "binding": "bound", "name": "start",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "hashPassword", "flags": ["async"],  "output": {"name": "string", "template": []}, "arguments": [{"optional": "false", "name": "password", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": true},{"type": "method", "binding": "bound", "name": "hashPassword",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "password", "type": {"name": "string", "template": []}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "string", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "verifyPassword", "flags": ["async"],  "output": {"name": "bool", "template": []}, "arguments": [{"optional": "false", "name": "hash", "type": {"name": "string", "template": []}},{"optional": "false", "name": "password", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": true},{"type": "method", "binding": "bound", "name": "verifyPassword",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "hash", "type": {"name": "string", "template": []}},{"optional": "false", "name": "password", "type": {"name": "string", "template": []}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "bool", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "randomHex",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "length", "type": {"name": "int", "template": []}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "string", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "getRandomHex", "flags": ["async"],  "output": {"name": "string", "template": []}, "arguments": [{"optional": "false", "name": "length", "type": {"name": "int", "template": []}}], "isImplicitAsync": false, "isAsync": true},{"type": "method", "binding": "bound", "name": "smallId",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "string", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "longId",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "amount", "type": {"name": "int", "template": []}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "array", "template": [{"name": "string", "template": []}]}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "preStart",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "start",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "stop",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "end",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Services.Database", "name": "Database", "inherits": ["Websom.Service","everything"], "members": [{"type": "property", "binding": "bound", "name": "primary",  "output": {"name": "Websom.Database", "template": []}},{"type": "property", "binding": "bound", "name": "databases",  "output": {"name": "array", "template": [{"name": "Websom.Database", "template": []}]}},{"type": "property", "binding": "bound", "name": "primaryAdapter",  "output": {"name": "Websom.AdapterInterface", "template": []}},{"type": "property", "binding": "bound", "name": "searchAdapter",  "output": {"name": "Websom.AdapterInterface", "template": []}},{"type": "property", "binding": "bound", "name": "central",  "output": {"name": "Websom.Adapters.Database.Adapter", "template": []}},{"type": "property", "binding": "bound", "name": "search",  "output": {"name": "Websom.Adapters.Search.Adapter", "template": []}},{"type": "method", "binding": "bound", "name": "preStart",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "loadAdapter",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "loadDatabase",  "output": {"name": "Websom.Status", "template": []}, "arguments": [{"optional": "false", "name": "raw", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "start",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "preStart",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "start",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "stop",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "end",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Services.Email", "name": "Email", "inherits": ["Websom.Service","everything"], "members": [{"type": "method", "binding": "bound", "name": "getSender",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}, "arguments": [{"optional": "false", "name": "sender", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "send",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "sender", "type": {"name": "string", "template": []}},{"optional": "false", "name": "email", "type": {"name": "Websom.Email", "template": []}},{"optional": "false", "name": "sent", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "string", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "preStart",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "start",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "stop",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "end",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Services.Input", "name": "Input", "inherits": ["Websom.Service","everything"], "members": [{"type": "property", "binding": "bound", "name": "inputs",  "output": {"name": "array", "template": [{"name": "Websom.InputHandler", "template": []}]}},{"type": "property", "binding": "bound", "name": "clientValidate",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "inputTypes",  "output": {"name": "array", "template": [{"name": "string", "template": []}]}},{"type": "property", "binding": "bound", "name": "completed",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "restrictHandlers",  "output": {"name": "map", "template": [{"name": "function", "template": [{"name": "void", "template": []}, {"name": "string", "template": []}, {"name": "Websom.Request", "template": []}, {"name": "function", "template": [{"name": "void", "template": []}, {"name": "bool", "template": []}]}]}]}},{"type": "method", "binding": "bound", "name": "start",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "buildClientValidation",  "output": {"name": "string", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "restriction",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "key", "type": {"name": "string", "template": []}},{"optional": "false", "name": "callback", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "string", "template": []}, {"name": "Websom.Request", "template": []}, {"name": "function", "template": [{"name": "void", "template": []}, {"name": "bool", "template": []}]}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "buildDataValidation",  "output": {"name": "string", "template": []}, "arguments": [{"optional": "false", "name": "info", "type": {"name": "Websom.DataInfo", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "register",  "output": {"name": "Websom.InputHandler", "template": []}, "arguments": [{"optional": "false", "name": "key", "type": {"name": "string", "template": []}},{"optional": "false", "name": "callback", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.Input", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "handle", "flags": ["trust"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "key", "type": {"name": "string", "template": []}},{"optional": "false", "name": "raw", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"optional": "false", "name": "req", "type": {"name": "Websom.Request", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "interface",  "output": {"name": "Websom.InputChain", "template": []}, "arguments": [{"optional": "false", "name": "key", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "preStart",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "start",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "stop",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "end",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Services.Micro", "name": "Micro", "inherits": ["Websom.Service","everything"], "members": [{"type": "property", "binding": "bound", "name": "text",  "output": {"name": "Websom.Micro.Text", "template": []}},{"type": "property", "binding": "bound", "name": "command",  "output": {"name": "Websom.Micro.Command", "template": []}},{"type": "property", "binding": "bound", "name": "sitemap",  "output": {"name": "Websom.Micro.Sitemap", "template": []}},{"type": "method", "binding": "bound", "name": "start",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "preStart",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "start",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "stop",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "end",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Services.Module", "name": "Module", "inherits": ["Websom.Service","everything"], "members": [{"type": "property", "binding": "bound", "name": "modules",  "output": {"name": "array", "template": [{"name": "Websom.Module", "template": []}]}},{"type": "method", "binding": "fixed", "name": "requireMod", "flags": ["inline", "native"],  "output": {"name": "Websom.Module", "template": []}, "arguments": [{"optional": "false", "name": "dir", "type": {"name": "string", "template": []}},{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "fixed", "name": "checkRequire", "flags": ["inline", "native"],  "output": {"name": "bool", "template": []}, "arguments": [{"optional": "false", "name": "dir", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "rebuild",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "load",  "output": {"name": "Websom.Status", "template": []}, "arguments": [{"optional": "false", "name": "modDir", "type": {"name": "string", "template": []}},{"optional": "false", "name": "config", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"optional": "false", "name": "single", "type": {"name": "bool", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "loadAllContainers", "flags": ["trust"],  "output": {"name": "string", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "checkContainers", "flags": ["trust"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "module", "type": {"name": "Websom.Module", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "reload",  "output": {"name": "Websom.Status", "template": []}, "arguments": [{"optional": "false", "name": "path", "type": {"name": "string", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "startModules",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "getModule",  "output": {"name": "Websom.Module", "template": []}, "arguments": [{"optional": "false", "name": "name", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "buildModule",  "output": {"name": "Websom.Status", "template": []}, "arguments": [{"optional": "false", "name": "dir", "type": {"name": "string", "template": []}},{"optional": "false", "name": "config", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "buildModules",  "output": {"name": "Websom.Status", "template": []}, "arguments": [{"optional": "false", "name": "path", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "start", "flags": ["override"],  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "stop", "flags": ["override"],  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "handleBridge",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "req", "type": {"name": "Websom.Request", "template": []}},{"optional": "false", "name": "bridgeName", "type": {"name": "string", "template": []}},{"optional": "false", "name": "method", "type": {"name": "string", "template": []}},{"optional": "false", "name": "args", "type": {"name": "array", "template": [{"name": "primitive", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "preStart",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "end",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Services.Notification", "name": "Notification", "inherits": ["Websom.Service","everything"], "members": [{"type": "property", "binding": "bound", "name": "emailAdapter",  "output": {"name": "Websom.AdapterInterface", "template": []}},{"type": "property", "binding": "bound", "name": "email",  "output": {"name": "Websom.Adapters.Email.Adapter", "template": []}},{"type": "method", "binding": "bound", "name": "preStart",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "loadAdapters",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "start",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": true, "isAsync": true},{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "preStart",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "start",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "stop",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "end",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Services.Pack", "name": "Pack", "inherits": ["Websom.Service","everything"], "members": [{"type": "property", "binding": "bound", "name": "packs",  "output": {"name": "array", "template": [{"name": "Websom.Pack", "template": []}]}},{"type": "method", "binding": "bound", "name": "load",  "output": {"name": "Websom.Status", "template": []}, "arguments": [{"optional": "false", "name": "packDir", "type": {"name": "string", "template": []}},{"optional": "false", "name": "config", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "reload",  "output": {"name": "Websom.Status", "template": []}, "arguments": [{"optional": "false", "name": "path", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "include",  "output": {"name": "string", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "start", "flags": ["override"],  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "preStart",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "stop",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "end",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Services.Render", "name": "Render", "inherits": ["Websom.Service","everything"], "members": [{"type": "method", "binding": "bound", "name": "start", "flags": ["override"],  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "renderView",  "output": {"name": "string", "template": []}, "arguments": [{"optional": "false", "name": "view", "type": {"name": "Websom.View", "template": []}},{"optional": "false", "name": "ctx", "type": {"name": "Websom.Render.Context", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "renderView",  "output": {"name": "string", "template": []}, "arguments": [{"optional": "false", "name": "viewName", "type": {"name": "string", "template": []}},{"optional": "false", "name": "ctx", "type": {"name": "Websom.Render.Context", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "findView",  "output": {"name": "Websom.Render.View", "template": []}, "arguments": [{"optional": "false", "name": "name", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "preStart",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "stop",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "end",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Services.Resource", "name": "Resource", "inherits": ["Websom.Service","everything"], "members": [{"type": "property", "binding": "bound", "name": "globalScripts",  "output": {"name": "array", "template": [{"name": "string", "template": []}]}},{"type": "property", "binding": "bound", "name": "globalStyles",  "output": {"name": "array", "template": [{"name": "string", "template": []}]}},{"type": "property", "binding": "bound", "name": "deployConfig",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "assetFontAwesome",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "deployHandlers",  "output": {"name": "array", "template": [{"name": "Websom.DeployHandler", "template": []}]}},{"type": "method", "binding": "bound", "name": "start", "flags": ["override"],  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "loadDeployConfig",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "deploy",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "name", "type": {"name": "string", "template": []}},{"optional": "false", "name": "callback", "type": {"name": "function", "template": [{"name": "void", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "findHandler",  "output": {"name": "Websom.DeployHandler", "template": []}, "arguments": [{"optional": "false", "name": "name", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "findDeploy",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}, "arguments": [{"optional": "false", "name": "name", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "deploy",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "name", "type": {"name": "string", "template": []}},{"optional": "false", "name": "progress", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "string", "template": []}]}},{"optional": "false", "name": "callback", "type": {"name": "function", "template": [{"name": "void", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "analyze",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "buildViews",  "output": {"name": "string", "template": []}, "arguments": [{"optional": "false", "name": "saveToFiles", "type": {"name": "bool", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "exportToFolder",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "path", "type": {"name": "string", "template": []}},{"optional": "false", "name": "callback", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "bool", "template": []}, {"name": "string", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "fetchViewConfigs",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "fetchViews",  "output": {"name": "array", "template": [{"name": "string", "template": []}]}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "collect",  "output": {"name": "array", "template": [{"name": "Websom.Resource", "template": []}]}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "build",  "output": {"name": "Websom.Status", "template": []}, "arguments": [{"optional": "false", "name": "dev", "type": {"name": "bool", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "include",  "output": {"name": "string", "template": []}, "arguments": [{"optional": "false", "name": "dev", "type": {"name": "bool", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "compile",  "output": {"name": "array", "template": [{"name": "Websom.Resource", "template": []}]}, "arguments": [{"optional": "false", "name": "owner", "type": {"name": "string", "template": []}},{"optional": "false", "name": "basePath", "type": {"name": "string", "template": []}},{"optional": "false", "name": "resources", "type": {"name": "array", "template": [{"name": "map", "template": [{"name": "primitive", "template": []}]}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "preStart",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "stop",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "end",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Services.Router", "name": "Router", "inherits": ["Websom.Service","everything"], "members": [{"type": "property", "binding": "bound", "name": "routes",  "output": {"name": "array", "template": [{"name": "Websom.Route", "template": []}]}},{"type": "property", "binding": "bound", "name": "injectScript",  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "route",  "output": {"name": "Websom.Route", "template": []}, "arguments": [{"optional": "false", "name": "routeString", "type": {"name": "string", "template": []}},{"optional": "false", "name": "handler", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.Request", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "post",  "output": {"name": "Websom.Route", "template": []}, "arguments": [{"optional": "false", "name": "routeString", "type": {"name": "string", "template": []}},{"optional": "false", "name": "handler", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.Input", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "start", "flags": ["override"],  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "injectSends",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "req", "type": {"name": "Websom.Request", "template": []}},{"optional": "false", "name": "clientData", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"optional": "false", "name": "readyToSend", "type": {"name": "function", "template": [{"name": "void", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "include",  "output": {"name": "string", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "includeAfter",  "output": {"name": "string", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "wrapPage",  "output": {"name": "string", "template": []}, "arguments": [{"optional": "false", "name": "content", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "sendStringView",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "req", "type": {"name": "Websom.Request", "template": []}},{"optional": "false", "name": "template", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "routeString",  "output": {"name": "Websom.Route", "template": []}, "arguments": [{"optional": "false", "name": "route", "type": {"name": "string", "template": []}},{"optional": "false", "name": "template", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "navView",  "output": {"name": "Websom.Route", "template": []}, "arguments": [{"optional": "false", "name": "routeStr", "type": {"name": "string", "template": []}},{"optional": "false", "name": "container", "type": {"name": "string", "template": []}},{"optional": "false", "name": "view", "type": {"name": "string", "template": []}},{"optional": "false", "name": "validate", "type": {"name": "string", "template": []}},{"optional": "false", "name": "canEdit", "type": {"name": "bool", "template": []}},{"optional": "false", "name": "editKey", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "navView",  "output": {"name": "Websom.Route", "template": []}, "arguments": [{"optional": "false", "name": "routeStr", "type": {"name": "string", "template": []}},{"optional": "false", "name": "container", "type": {"name": "string", "template": []}},{"optional": "false", "name": "view", "type": {"name": "string", "template": []}},{"optional": "false", "name": "validate", "type": {"name": "string", "template": []}},{"optional": "false", "name": "publicKey", "type": {"name": "string", "template": []}},{"optional": "false", "name": "canEdit", "type": {"name": "bool", "template": []}},{"optional": "false", "name": "editKey", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "quickRoute",  "output": {"name": "Websom.Route", "template": []}, "arguments": [{"optional": "false", "name": "route", "type": {"name": "string", "template": []}},{"optional": "false", "name": "viewName", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "routeView",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "view", "type": {"name": "Websom.View", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "buildSplits", "flags": ["value"],  "output": {"name": "array", "template": [{"name": "string", "template": []}]}, "arguments": [{"optional": "false", "name": "route", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "find",  "output": {"name": "Websom.Route", "template": []}, "arguments": [{"optional": "false", "name": "query", "type": {"name": "string", "template": []}},{"optional": "false", "name": "post", "type": {"name": "bool", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "handle",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "req", "type": {"name": "Websom.Request", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "handlePost",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "raw", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"optional": "false", "name": "req", "type": {"name": "Websom.Request", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "preStart",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "stop",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "end",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Services.Security", "name": "Security", "inherits": ["Websom.Service","everything"], "members": [{"type": "property", "binding": "bound", "name": "loaded",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "captchaService",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "serviceKey",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "publicKey",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "configPath",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "updateLimit",  "output": {"name": "int", "template": []}},{"type": "property", "binding": "bound", "name": "insertLimit",  "output": {"name": "int", "template": []}},{"type": "property", "binding": "bound", "name": "selectLimit",  "output": {"name": "int", "template": []}},{"type": "property", "binding": "bound", "name": "message",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "interval",  "output": {"name": "uint64", "template": []}},{"type": "property", "binding": "bound", "name": "captchaAdapter",  "output": {"name": "Websom.AdapterInterface", "template": []}},{"type": "property", "binding": "bound", "name": "captcha",  "output": {"name": "Websom.Adapters.Captcha.Adapter", "template": []}},{"type": "method", "binding": "bound", "name": "preStart",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "loadAdapter",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "start",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "load",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "verify",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "callback", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "bool", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "countRequest",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "type", "type": {"name": "string", "template": []}},{"optional": "false", "name": "opts", "type": {"name": "Websom.InterfaceOptions", "template": []}},{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "request",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "type", "type": {"name": "string", "template": []}},{"optional": "false", "name": "opts", "type": {"name": "Websom.InterfaceOptions", "template": []}},{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "callback", "type": {"name": "function", "template": [{"name": "void", "template": []}]}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "authenticateRequest",  "output": {"name": "bool", "template": []}, "arguments": [{"optional": "false", "name": "req", "type": {"name": "Websom.Request", "template": []}},{"optional": "false", "name": "permission", "type": {"name": "Websom.Permission", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "typeCheck",  "output": {"name": "bool", "template": []}, "arguments": [{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}},{"optional": "false", "name": "type", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "preStart",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "start",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "stop",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "end",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Services.Session", "name": "Session", "inherits": ["Websom.Service","everything"], "members": [{"type": "property", "binding": "bound", "name": "sessions",  "output": {"name": "Websom.Adapters.Database.Collection", "template": []}},{"type": "method", "binding": "bound", "name": "start", "flags": ["override"],  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "beforeSend",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "req", "type": {"name": "Websom.Request", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "generateSessionKey",  "output": {"name": "string", "template": []}, "arguments": [], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "loadRequest",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "req", "type": {"name": "Websom.Request", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "collection",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": true, "isAsync": true},{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "preStart",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "stop",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "end",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Services.Theme", "name": "Theme", "inherits": ["Websom.Service","everything"], "members": [{"type": "property", "binding": "bound", "name": "themes",  "output": {"name": "array", "template": [{"name": "Websom.Theme", "template": []}]}},{"type": "method", "binding": "bound", "name": "load",  "output": {"name": "Websom.Status", "template": []}, "arguments": [{"optional": "false", "name": "themeDir", "type": {"name": "string", "template": []}},{"optional": "false", "name": "config", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "reload",  "output": {"name": "Websom.Status", "template": []}, "arguments": [{"optional": "false", "name": "path", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "include",  "output": {"name": "string", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "start", "flags": ["override"],  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "preStart",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "stop",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "end",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Services.View", "name": "View", "inherits": ["Websom.Service","everything"], "members": [{"type": "property", "binding": "bound", "name": "pages",  "output": {"name": "array", "template": [{"name": "Websom.View", "template": []}]}},{"type": "property", "binding": "bound", "name": "views",  "output": {"name": "array", "template": [{"name": "Websom.View", "template": []}]}},{"type": "property", "binding": "bound", "name": "moduleViews",  "output": {"name": "array", "template": [{"name": "Websom.View", "template": []}]}},{"type": "method", "binding": "bound", "name": "start", "flags": ["override"],  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "serializeViews",  "output": {"name": "array", "template": [{"name": "map", "template": [{"name": "primitive", "template": []}]}]}, "arguments": [{"optional": "false", "name": "views", "type": {"name": "array", "template": [{"name": "Websom.View", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "loadViewCache",  "output": {"name": "array", "template": [{"name": "Websom.View", "template": []}]}, "arguments": [{"optional": "false", "name": "data", "type": {"name": "array", "template": [{"name": "map", "template": [{"name": "primitive", "template": []}]}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "loadCache",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "buildCache",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "getView",  "output": {"name": "Websom.View", "template": []}, "arguments": [{"optional": "false", "name": "name", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "getModuleViews",  "output": {"name": "array", "template": [{"name": "Websom.View", "template": []}]}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "buildDev",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "to", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "include",  "output": {"name": "string", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "loadPage",  "output": {"name": "Websom.Status", "template": []}, "arguments": [{"optional": "false", "name": "path", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "loadView",  "output": {"name": "Websom.Status", "template": []}, "arguments": [{"optional": "false", "name": "path", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "loadPages",  "output": {"name": "Websom.Status", "template": []}, "arguments": [{"optional": "false", "name": "dir", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "loadViews",  "output": {"name": "Websom.Status", "template": []}, "arguments": [{"optional": "false", "name": "dir", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "preStart",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "stop",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "end",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.AdapterInterface", "name": "AdapterInterface", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "property", "binding": "bound", "name": "adapter",  "output": {"name": "Websom.Adapter", "template": []}},{"type": "property", "binding": "bound", "name": "name",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "exposeToClient",  "output": {"name": "bool", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}},{"optional": "false", "name": "name", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "load",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "mod", "type": {"name": "everything", "template": []}},{"optional": "false", "name": "className", "type": {"name": "string", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "loadAsBranchAdapter",  "output": {"name": "bool", "template": []}, "arguments": [{"optional": "false", "name": "branchName", "type": {"name": "string", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "loadFromConfig",  "output": {"name": "bool", "template": []}, "arguments": [], "isImplicitAsync": true, "isAsync": true}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.APIContext", "name": "APIContext", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "request",  "output": {"name": "Websom.Request", "template": []}},{"type": "property", "binding": "bound", "name": "inputs",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "req", "type": {"name": "Websom.Request", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "get",  "output": {"name": "primitive", "template": []}, "arguments": [{"optional": "false", "name": "key", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "set",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "key", "type": {"name": "string", "template": []}},{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.APIChain", "name": "APIChain", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "authenticators",  "output": {"name": "array", "template": [{"name": "Websom.Authenticator", "template": []}]}},{"type": "property", "binding": "bound", "name": "inputs",  "output": {"name": "array", "template": [{"name": "Websom.CollectionInterfaceWrite", "template": []}]}},{"type": "property", "binding": "bound", "name": "route",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "handler",  "output": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.APIContext", "template": []}]}},{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}},{"optional": "false", "name": "route", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "auth",  "output": {"name": "Websom.APIChain", "template": []}, "arguments": [{"optional": "false", "name": "permission", "type": {"name": "Websom.Permission", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "auth",  "output": {"name": "Websom.APIChain", "template": []}, "arguments": [{"optional": "false", "name": "func", "type": {"name": "function", "template": [{"name": "bool", "template": []}, {"name": "Websom.Request", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "input",  "output": {"name": "Websom.APIChain", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "input",  "output": {"name": "Websom.APIChain", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "string", "template": []}},{"optional": "false", "name": "defaultValue", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "type",  "output": {"name": "Websom.APIChain", "template": []}, "arguments": [{"optional": "false", "name": "type", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "limit",  "output": {"name": "Websom.APIChain", "template": []}, "arguments": [{"optional": "false", "name": "min", "type": {"name": "int", "template": []}},{"optional": "false", "name": "max", "type": {"name": "int", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "format",  "output": {"name": "Websom.APIChain", "template": []}, "arguments": [{"optional": "false", "name": "format", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "regexTest",  "output": {"name": "Websom.APIChain", "template": []}, "arguments": [{"optional": "false", "name": "reg", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "restrict",  "output": {"name": "Websom.APIChain", "template": []}, "arguments": [{"optional": "false", "name": "restriction", "type": {"name": "Websom.Restriction", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "restrict",  "output": {"name": "Websom.APIChain", "template": []}, "arguments": [{"optional": "false", "name": "func", "type": {"name": "function", "template": [{"name": "bool", "template": []}, {"name": "Websom.Adapters.Database.Collection", "template": []}, {"name": "Websom.Adapters.Database.Field", "template": []}, {"name": "primitive", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "executes",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "func", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.APIContext", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "handle",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "req", "type": {"name": "Websom.Request", "template": []}}], "isImplicitAsync": true, "isAsync": true}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Email", "name": "Email", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "html",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "recipients",  "output": {"name": "array", "template": [{"name": "string", "template": []}]}},{"type": "property", "binding": "bound", "name": "subject",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "body",  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "recipients", "type": {"name": "array", "template": [{"name": "string", "template": []}]}},{"optional": "false", "name": "subject", "type": {"name": "string", "template": []}},{"optional": "false", "name": "body", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "attach",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.InputHandler", "name": "InputHandler", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "key",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "handler",  "output": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.Input", "template": []}]}},{"type": "property", "binding": "bound", "name": "containerInterface",  "output": {"name": "Websom.Container", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "key", "type": {"name": "string", "template": []}},{"optional": "false", "name": "handler", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.Input", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "handle", "flags": ["trust"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "raw", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"optional": "false", "name": "req", "type": {"name": "Websom.Request", "template": []}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.File", "name": "File", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "name",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "path",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "type",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "size",  "output": {"name": "uint64", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "name", "type": {"name": "string", "template": []}},{"optional": "false", "name": "path", "type": {"name": "string", "template": []}},{"optional": "false", "name": "size", "type": {"name": "uint64", "template": []}},{"optional": "false", "name": "type", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Input", "name": "Input", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "property", "binding": "bound", "name": "raw",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "files",  "output": {"name": "map", "template": [{"name": "array", "template": [{"name": "Websom.File", "template": []}]}]}},{"type": "property", "binding": "bound", "name": "request",  "output": {"name": "Websom.Request", "template": []}},{"type": "property", "binding": "bound", "name": "key",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "route",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "updateData",  "output": {"name": "Websom.Data", "template": []}},{"type": "method", "binding": "bound", "name": "@construct", "flags": ["trust"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "key", "type": {"name": "string", "template": []}},{"optional": "false", "name": "raw", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"optional": "false", "name": "request", "type": {"name": "Websom.Request", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "validate",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "val", "type": {"name": "Websom.InputValidator", "template": []}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.InputValidation", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "has",  "output": {"name": "bool", "template": []}, "arguments": [{"optional": "false", "name": "keys", "type": {"name": "array", "template": [{"name": "string", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "send",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "raw", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "sendAction",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "actionName", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "sendError",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "message", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "sendSuccess",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "message", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "validateCaptcha",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "callback", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "bool", "template": []}]}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.InputValidator", "name": "InputValidator", "inherits": ["everything"], "members": [{"type": "method", "binding": "bound", "name": "validate",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.InputValidation", "template": []}]}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.InputValidation", "name": "InputValidation", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "hadError",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "message",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "field",  "output": {"name": "Websom.FieldInfo", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "hadError", "type": {"name": "bool", "template": []}},{"optional": "false", "name": "message", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "hadError", "type": {"name": "bool", "template": []}},{"optional": "false", "name": "message", "type": {"name": "string", "template": []}},{"optional": "false", "name": "field", "type": {"name": "Websom.FieldInfo", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "stringify",  "output": {"name": "string", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "namespace", "flags": [], "templates": [], "route": "Websom.Micro", "name": "Micro", "inherits": ["everything"], "members": []},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Micro.Command", "name": "Command", "inherits": ["Websom.MicroService","everything"], "members": [{"type": "property", "binding": "bound", "name": "commands",  "output": {"name": "array", "template": [{"name": "Websom.Command", "template": []}]}},{"type": "method", "binding": "bound", "name": "start",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "register",  "output": {"name": "Websom.Command", "template": []}, "arguments": [{"optional": "false", "name": "topName", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "exec",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "command", "type": {"name": "string", "template": []}},{"optional": "false", "name": "req", "type": {"name": "Websom.Request", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "exec",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "command", "type": {"name": "string", "template": []}},{"optional": "false", "name": "completedHook", "type": {"name": "function", "template": [{"name": "void", "template": []}]}}], "isImplicitAsync": true, "isAsync": true},{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Micro.Sitemap", "name": "Sitemap", "inherits": ["Websom.MicroService","everything"], "members": [{"type": "property", "binding": "bound", "name": "loaded",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "data",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "sitemapOptions",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "sitemapFile",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "sitemapOutput",  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "start",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "build",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "baseUrls", "type": {"name": "array", "template": [{"name": "string", "template": []}]}},{"optional": "false", "name": "outputPath", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "load",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Micro.Text", "name": "Text", "inherits": ["Websom.MicroService","everything"], "members": [{"type": "property", "binding": "bound", "name": "loaded",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "data",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "textFile",  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "start",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "save",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "load",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.MicroService", "name": "MicroService", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "start",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "namespace", "flags": [], "templates": [], "route": "Websom.Render", "name": "Render", "inherits": ["everything"], "members": []},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Render.Context", "name": "Context", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "data",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "props",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "slotContext",  "output": {"name": "Websom.Render.Context", "template": []}},{"type": "property", "binding": "bound", "name": "slot",  "output": {"name": "array", "template": [{"name": "Websom.Render.Node", "template": []}]}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "find",  "output": {"name": "primitive", "template": []}, "arguments": [{"optional": "false", "name": "key", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "findRooted",  "output": {"name": "primitive", "template": []}, "arguments": [{"optional": "false", "name": "base", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"optional": "false", "name": "splits", "type": {"name": "array", "template": [{"name": "string", "template": []}]}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Render.Element", "name": "Element", "inherits": ["Websom.Render.Node","everything"], "members": [{"type": "property", "binding": "bound", "name": "name",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "attributes",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "children",  "output": {"name": "array", "template": [{"name": "Websom.Render.Node", "template": []}]}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}},{"optional": "false", "name": "name", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "render", "flags": ["override"],  "output": {"name": "string", "template": []}, "arguments": [{"optional": "false", "name": "ctx", "type": {"name": "Websom.Render.Context", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "fixed", "name": "parse",  "output": {"name": "Websom.Render.Element", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}},{"optional": "false", "name": "html", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "fixed", "name": "makeFromObj", "flags": ["trust"],  "output": {"name": "Websom.Render.Node", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}},{"optional": "false", "name": "arg", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "serialize",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "deserializeChildren",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}},{"optional": "false", "name": "children", "type": {"name": "array", "template": [{"name": "map", "template": [{"name": "primitive", "template": []}]}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "basicSerialize",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "property", "binding": "bound", "name": "isText",  "output": {"name": "bool", "template": []}},{"type": "method", "binding": "fixed", "name": "deserialize",  "output": {"name": "Websom.Render.Node", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}},{"optional": "false", "name": "data", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Render.Node", "name": "Node", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "isText",  "output": {"name": "bool", "template": []}},{"type": "method", "binding": "bound", "name": "render",  "output": {"name": "string", "template": []}, "arguments": [{"optional": "false", "name": "ctx", "type": {"name": "Websom.Render.Context", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "serialize",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "fixed", "name": "deserialize",  "output": {"name": "Websom.Render.Node", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}},{"optional": "false", "name": "data", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Render.ViewRef", "name": "ViewRef", "inherits": ["Websom.Render.Element","everything"], "members": [{"type": "property", "binding": "bound", "name": "view",  "output": {"name": "Websom.Render.View", "template": []}},{"type": "method", "binding": "bound", "name": "@construct", "flags": ["override"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}},{"optional": "false", "name": "view", "type": {"name": "Websom.Render.View", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "render", "flags": ["override"],  "output": {"name": "string", "template": []}, "arguments": [{"optional": "false", "name": "ctx", "type": {"name": "Websom.Render.Context", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "serialize",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "property", "binding": "bound", "name": "name",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "attributes",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "children",  "output": {"name": "array", "template": [{"name": "Websom.Render.Node", "template": []}]}},{"type": "method", "binding": "fixed", "name": "parse",  "output": {"name": "Websom.Render.Element", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}},{"optional": "false", "name": "html", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "fixed", "name": "makeFromObj", "flags": ["trust"],  "output": {"name": "Websom.Render.Node", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}},{"optional": "false", "name": "arg", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "serialize",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "deserializeChildren",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}},{"optional": "false", "name": "children", "type": {"name": "array", "template": [{"name": "map", "template": [{"name": "primitive", "template": []}]}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "basicSerialize",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "property", "binding": "bound", "name": "isText",  "output": {"name": "bool", "template": []}},{"type": "method", "binding": "fixed", "name": "deserialize",  "output": {"name": "Websom.Render.Node", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}},{"optional": "false", "name": "data", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Render.Text", "name": "Text", "inherits": ["Websom.Render.Node","everything"], "members": [{"type": "property", "binding": "bound", "name": "text",  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "text", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "render", "flags": ["override"],  "output": {"name": "string", "template": []}, "arguments": [{"optional": "false", "name": "ctx", "type": {"name": "Websom.Render.Context", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "serialize",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "property", "binding": "bound", "name": "isText",  "output": {"name": "bool", "template": []}},{"type": "method", "binding": "fixed", "name": "deserialize",  "output": {"name": "Websom.Render.Node", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}},{"optional": "false", "name": "data", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Render.View", "name": "View", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "view",  "output": {"name": "Websom.View", "template": []}},{"type": "property", "binding": "bound", "name": "root",  "output": {"name": "Websom.Render.Element", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "view", "type": {"name": "Websom.View", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "parse",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "render",  "output": {"name": "string", "template": []}, "arguments": [{"optional": "false", "name": "ctx", "type": {"name": "Websom.Render.Context", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "serialize",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "deserialize",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "data", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.DeployHandler", "name": "DeployHandler", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "name",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "execute",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "config", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"optional": "false", "name": "progress", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "string", "template": []}]}},{"optional": "false", "name": "finish", "type": {"name": "function", "template": [{"name": "void", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "getFiles",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "callback", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "array", "template": [{"name": "string", "template": []}]}]}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.FtpHandler", "name": "FtpHandler", "inherits": ["Websom.DeployHandler","everything"], "members": [{"type": "property", "binding": "bound", "name": "name", "flags": ["override"],  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "execute",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "config", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"optional": "false", "name": "progress", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "string", "template": []}]}},{"optional": "false", "name": "finish", "type": {"name": "function", "template": [{"name": "void", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "getFiles",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "callback", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "array", "template": [{"name": "string", "template": []}]}]}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.LocalHandler", "name": "LocalHandler", "inherits": ["Websom.DeployHandler","everything"], "members": [{"type": "property", "binding": "bound", "name": "name", "flags": ["override"],  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "execute",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "config", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"optional": "false", "name": "progress", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "string", "template": []}]}},{"optional": "false", "name": "finish", "type": {"name": "function", "template": [{"name": "void", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "getFiles",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "callback", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "array", "template": [{"name": "string", "template": []}]}]}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Resource", "name": "Resource", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "property", "binding": "bound", "name": "owner",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "file",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "type",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "order",  "output": {"name": "int", "template": []}},{"type": "property", "binding": "bound", "name": "isInvalid",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "reference",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "bundle",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "raw",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}},{"optional": "false", "name": "owner", "type": {"name": "string", "template": []}},{"optional": "false", "name": "file", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "fixed", "name": "make",  "output": {"name": "Websom.Resource", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}},{"optional": "false", "name": "type", "type": {"name": "string", "template": []}},{"optional": "false", "name": "owner", "type": {"name": "string", "template": []}},{"optional": "false", "name": "file", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "fixed", "name": "invalid",  "output": {"name": "Websom.Resource", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}},{"optional": "false", "name": "owner", "type": {"name": "string", "template": []}},{"optional": "false", "name": "path", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "read",  "output": {"name": "string", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "rawRead",  "output": {"name": "string", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "toHtmlInclude", "flags": ["abstract"],  "output": {"name": "string", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "buildToFile", "flags": ["abstract"],  "output": {"name": "Websom.Status", "template": []}, "arguments": [{"optional": "false", "name": "absolutePath", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "build", "flags": ["abstract"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "callback", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "bool", "template": []}, {"name": "string", "template": []}]}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "namespace", "flags": [], "templates": [], "route": "Websom.Resources", "name": "Resources", "inherits": ["everything"], "members": []},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Resources.Javascript", "name": "Javascript", "inherits": ["Websom.Resource","everything"], "members": [{"type": "property", "binding": "bound", "name": "type", "flags": ["override"],  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "buildToFile",  "output": {"name": "Websom.Status", "template": []}, "arguments": [{"optional": "false", "name": "path", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "toHtmlInclude",  "output": {"name": "string", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "build",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "callback", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "bool", "template": []}, {"name": "string", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "property", "binding": "bound", "name": "owner",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "file",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "order",  "output": {"name": "int", "template": []}},{"type": "property", "binding": "bound", "name": "isInvalid",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "reference",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "bundle",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "raw",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}},{"optional": "false", "name": "owner", "type": {"name": "string", "template": []}},{"optional": "false", "name": "file", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "fixed", "name": "make",  "output": {"name": "Websom.Resource", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}},{"optional": "false", "name": "type", "type": {"name": "string", "template": []}},{"optional": "false", "name": "owner", "type": {"name": "string", "template": []}},{"optional": "false", "name": "file", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "fixed", "name": "invalid",  "output": {"name": "Websom.Resource", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}},{"optional": "false", "name": "owner", "type": {"name": "string", "template": []}},{"optional": "false", "name": "path", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "read",  "output": {"name": "string", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "rawRead",  "output": {"name": "string", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Resources.File", "name": "File", "inherits": ["Websom.Resource","everything"], "members": [{"type": "property", "binding": "bound", "name": "type", "flags": ["override"],  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "buildToFile",  "output": {"name": "Websom.Status", "template": []}, "arguments": [{"optional": "false", "name": "path", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "toHtmlInclude",  "output": {"name": "string", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "build",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "callback", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "bool", "template": []}, {"name": "string", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "property", "binding": "bound", "name": "owner",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "file",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "order",  "output": {"name": "int", "template": []}},{"type": "property", "binding": "bound", "name": "isInvalid",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "reference",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "bundle",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "raw",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}},{"optional": "false", "name": "owner", "type": {"name": "string", "template": []}},{"optional": "false", "name": "file", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "fixed", "name": "make",  "output": {"name": "Websom.Resource", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}},{"optional": "false", "name": "type", "type": {"name": "string", "template": []}},{"optional": "false", "name": "owner", "type": {"name": "string", "template": []}},{"optional": "false", "name": "file", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "fixed", "name": "invalid",  "output": {"name": "Websom.Resource", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}},{"optional": "false", "name": "owner", "type": {"name": "string", "template": []}},{"optional": "false", "name": "path", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "read",  "output": {"name": "string", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "rawRead",  "output": {"name": "string", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Resources.View", "name": "View", "inherits": ["Websom.Resource","everything"], "members": [{"type": "property", "binding": "bound", "name": "type", "flags": ["override"],  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "buildToFile",  "output": {"name": "Websom.Status", "template": []}, "arguments": [{"optional": "false", "name": "path", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "toHtmlInclude",  "output": {"name": "string", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "build",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "callback", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "bool", "template": []}, {"name": "string", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "property", "binding": "bound", "name": "owner",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "file",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "order",  "output": {"name": "int", "template": []}},{"type": "property", "binding": "bound", "name": "isInvalid",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "reference",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "bundle",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "raw",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}},{"optional": "false", "name": "owner", "type": {"name": "string", "template": []}},{"optional": "false", "name": "file", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "fixed", "name": "make",  "output": {"name": "Websom.Resource", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}},{"optional": "false", "name": "type", "type": {"name": "string", "template": []}},{"optional": "false", "name": "owner", "type": {"name": "string", "template": []}},{"optional": "false", "name": "file", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "fixed", "name": "invalid",  "output": {"name": "Websom.Resource", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}},{"optional": "false", "name": "owner", "type": {"name": "string", "template": []}},{"optional": "false", "name": "path", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "read",  "output": {"name": "string", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "rawRead",  "output": {"name": "string", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Resources.Css", "name": "Css", "inherits": ["Websom.Resource","everything"], "members": [{"type": "property", "binding": "bound", "name": "type", "flags": ["override"],  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "buildToFile",  "output": {"name": "Websom.Status", "template": []}, "arguments": [{"optional": "false", "name": "path", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "toHtmlInclude",  "output": {"name": "string", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "build",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "callback", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "bool", "template": []}, {"name": "string", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "property", "binding": "bound", "name": "owner",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "file",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "order",  "output": {"name": "int", "template": []}},{"type": "property", "binding": "bound", "name": "isInvalid",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "reference",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "bundle",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "raw",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}},{"optional": "false", "name": "owner", "type": {"name": "string", "template": []}},{"optional": "false", "name": "file", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "fixed", "name": "make",  "output": {"name": "Websom.Resource", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}},{"optional": "false", "name": "type", "type": {"name": "string", "template": []}},{"optional": "false", "name": "owner", "type": {"name": "string", "template": []}},{"optional": "false", "name": "file", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "fixed", "name": "invalid",  "output": {"name": "Websom.Resource", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}},{"optional": "false", "name": "owner", "type": {"name": "string", "template": []}},{"optional": "false", "name": "path", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "read",  "output": {"name": "string", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "rawRead",  "output": {"name": "string", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Resources.Less", "name": "Less", "inherits": ["Websom.Resource","everything"], "members": [{"type": "property", "binding": "bound", "name": "type", "flags": ["override"],  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "buildToFile",  "output": {"name": "Websom.Status", "template": []}, "arguments": [{"optional": "false", "name": "path", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "toHtmlInclude",  "output": {"name": "string", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "build",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "callback", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "bool", "template": []}, {"name": "string", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "property", "binding": "bound", "name": "owner",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "file",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "order",  "output": {"name": "int", "template": []}},{"type": "property", "binding": "bound", "name": "isInvalid",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "reference",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "bundle",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "raw",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}},{"optional": "false", "name": "owner", "type": {"name": "string", "template": []}},{"optional": "false", "name": "file", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "fixed", "name": "make",  "output": {"name": "Websom.Resource", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}},{"optional": "false", "name": "type", "type": {"name": "string", "template": []}},{"optional": "false", "name": "owner", "type": {"name": "string", "template": []}},{"optional": "false", "name": "file", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "fixed", "name": "invalid",  "output": {"name": "Websom.Resource", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}},{"optional": "false", "name": "owner", "type": {"name": "string", "template": []}},{"optional": "false", "name": "path", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "read",  "output": {"name": "string", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "rawRead",  "output": {"name": "string", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Route", "name": "Route", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "greedy",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "post",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "route",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "splits",  "output": {"name": "array", "template": [{"name": "string", "template": []}]}},{"type": "property", "binding": "bound", "name": "handler",  "output": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.Request", "template": []}]}},{"type": "property", "binding": "bound", "name": "postHandler",  "output": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.Input", "template": []}]}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "route", "type": {"name": "string", "template": []}},{"optional": "false", "name": "splits", "type": {"name": "array", "template": [{"name": "string", "template": []}]}},{"optional": "false", "name": "handler", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.Request", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "route", "type": {"name": "string", "template": []}},{"optional": "false", "name": "splits", "type": {"name": "array", "template": [{"name": "string", "template": []}]}},{"optional": "false", "name": "handler", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.Input", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "match",  "output": {"name": "bool", "template": []}, "arguments": [{"optional": "false", "name": "otherSplits", "type": {"name": "array", "template": [{"name": "string", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "handle",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "req", "type": {"name": "Websom.Request", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "handlePost",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": ["header"], "templates": [], "route": "Websom.Adapter", "name": "Adapter", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "property", "binding": "bound", "name": "adapterKey",  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "initialize",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "shutdown",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": true, "isAsync": true}], "raw": {"type":"class","doc":[],"flags":["header"],"name":"Websom.Adapter","members":[{"type":"property","name":"server","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":55,"end":59,"appendix":[]}],"type":"expression","start":55,"end":58}},"output":{"name":"Websom.Server","template":[]},"flags":[],"templates":[],"start":32,"doc":[],"end":59},{"type":"property","name":"adapterKey","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":83,"end":85,"appendix":[]}],"type":"expression","start":83,"end":84}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":60,"doc":[],"end":85},{"type":"method","name":"@construct","value":{"type":"method","parameters":[{"type":{"name":"Websom.Server","reference":0,"start":107,"end":120,"template":false},"doc":[],"name":"server","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.server","start":134,"end":145,"appendix":[]}},{"type":"constant","name":"server","start":148,"end":154,"appendix":[]}],"type":"expression","start":134,"end":154}],"start":129,"end":158}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":86,"doc":[],"end":158},{"type":"method","name":"initialize","value":{"type":"method","parameters":[],"body":{"type":"block","code":[],"start":197,"end":203}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":159,"attribute":[{"key":"ForceAsync","value":true}],"doc":[],"end":203},{"type":"method","name":"shutdown","value":{"type":"method","parameters":[],"body":{"type":"block","code":[],"start":240,"end":246}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":204,"attribute":[{"key":"ForceAsync","value":true}],"doc":[],"end":246}],"templates":[],"start":0,"end":249}},{"type": "class", "base": "class", "flags": ["header"], "templates": [], "route": "Websom.Bridge", "name": "Bridge", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "method", "binding": "bound", "name": "getName",  "output": {"name": "string", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "getServerMethods", "flags": ["phpNoRef"],  "output": {"name": "array", "template": [{"name": "string", "template": []}]}, "arguments": [], "isImplicitAsync": false, "isAsync": false}], "raw": {"type":"class","doc":[],"flags":["header"],"name":"Websom.Bridge","members":[{"type":"property","name":"server","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":54,"end":58,"appendix":[]}],"type":"expression","start":54,"end":57}},"output":{"name":"Websom.Server","template":[]},"flags":[],"templates":[],"start":31,"doc":[],"end":58},{"type":"method","name":"getName","value":{"type":"method","parameters":[],"body":{"type":"block","code":[{"type":"native","platform":"php","content":"return $this->name;","start":86,"end":117},{"type":"native","platform":"javascript","content":"return this.name;","start":118,"end":158}],"start":81,"end":162}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":59,"doc":[],"end":162},{"type":"method","name":"@construct","value":{"type":"method","parameters":[{"type":{"name":"Websom.Server","reference":0,"start":184,"end":197,"template":false},"doc":[],"name":"server","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.server","start":211,"end":222,"appendix":[]}},{"type":"constant","name":"server","start":225,"end":231,"appendix":[]}],"type":"expression","start":211,"end":231}],"start":206,"end":235}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":163,"doc":[],"end":235},{"type":"method","name":"getServerMethods","value":{"type":"method","parameters":[],"body":{"type":"block","code":[{"type":"native","platform":"javascript","content":"\r\n\t\t\treturn this.serverMethods();\r\n\t\t","start":323,"end":379},{"type":"native","platform":"php","content":"\r\n\t\t\treturn $this->serverMethods();\r\n\t\t","start":380,"end":437}],"start":318,"end":441}},"flags":["phpNoRef"],"output":{"name":"array","reference":0,"start":285,"end":298,"template":[{"name":"string","reference":0,"start":286,"end":292,"template":false}]},"templates":[],"start":236,"doc":[],"end":441}],"templates":[],"start":0,"end":444}},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Bucket", "name": "Bucket", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "property", "binding": "bound", "name": "raw",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "name",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "owner",  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}},{"optional": "false", "name": "name", "type": {"name": "string", "template": []}},{"optional": "false", "name": "raw", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}},{"optional": "false", "name": "name", "type": {"name": "string", "template": []}},{"optional": "false", "name": "ownerModule", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "created",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "fixed", "name": "make",  "output": {"name": "Websom.Bucket", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}},{"optional": "false", "name": "name", "type": {"name": "string", "template": []}},{"optional": "false", "name": "type", "type": {"name": "string", "template": []}},{"optional": "false", "name": "raw", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "write",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "file", "type": {"name": "string", "template": []}},{"optional": "false", "name": "content", "type": {"name": "string", "template": []}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "string", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "read",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "file", "type": {"name": "string", "template": []}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "bool", "template": []}, {"name": "string", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "makeDir",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "dir", "type": {"name": "string", "template": []}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "bool", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "uploadObject",  "output": {"name": "Websom.BucketUpload", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "deleteObject",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "filename", "type": {"name": "string", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "createDirectory",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "path", "type": {"name": "string", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "setObjectACL",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "filename", "type": {"name": "string", "template": []}},{"optional": "false", "name": "acl", "type": {"name": "string", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "serve",  "output": {"name": "string", "template": []}, "arguments": [{"optional": "false", "name": "filename", "type": {"name": "string", "template": []}}], "isImplicitAsync": true, "isAsync": true}]},{"type": "class", "base": "namespace", "flags": [], "templates": [], "route": "Websom.Buckets", "name": "Buckets", "inherits": ["everything"], "members": []},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Buckets.Local", "name": "Local", "inherits": ["Websom.Bucket","everything"], "members": [{"type": "property", "binding": "bound", "name": "realPath",  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "created", "flags": ["override"],  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "write", "flags": ["trust"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "file", "type": {"name": "string", "template": []}},{"optional": "false", "name": "content", "type": {"name": "string", "template": []}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "string", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "read",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "file", "type": {"name": "string", "template": []}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "bool", "template": []}, {"name": "string", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "makeDir",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "dir", "type": {"name": "string", "template": []}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "bool", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "property", "binding": "bound", "name": "raw",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "name",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "owner",  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}},{"optional": "false", "name": "name", "type": {"name": "string", "template": []}},{"optional": "false", "name": "raw", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}},{"optional": "false", "name": "name", "type": {"name": "string", "template": []}},{"optional": "false", "name": "ownerModule", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "fixed", "name": "make",  "output": {"name": "Websom.Bucket", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}},{"optional": "false", "name": "name", "type": {"name": "string", "template": []}},{"optional": "false", "name": "type", "type": {"name": "string", "template": []}},{"optional": "false", "name": "raw", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "uploadObject",  "output": {"name": "Websom.BucketUpload", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "deleteObject",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "filename", "type": {"name": "string", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "createDirectory",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "path", "type": {"name": "string", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "setObjectACL",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "filename", "type": {"name": "string", "template": []}},{"optional": "false", "name": "acl", "type": {"name": "string", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "serve",  "output": {"name": "string", "template": []}, "arguments": [{"optional": "false", "name": "filename", "type": {"name": "string", "template": []}}], "isImplicitAsync": true, "isAsync": true}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.BucketUpload", "name": "BucketUpload", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "bucket",  "output": {"name": "Websom.Bucket", "template": []}},{"type": "property", "binding": "bound", "name": "acl",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "fileSizeLimit",  "output": {"name": "int", "template": []}},{"type": "property", "binding": "bound", "name": "filename",  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "bucket", "type": {"name": "Websom.Bucket", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "access",  "output": {"name": "Websom.BucketUpload", "template": []}, "arguments": [{"optional": "false", "name": "acl", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "limit",  "output": {"name": "Websom.BucketUpload", "template": []}, "arguments": [{"optional": "false", "name": "fileSize", "type": {"name": "int", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "name",  "output": {"name": "Websom.BucketUpload", "template": []}, "arguments": [{"optional": "false", "name": "filename", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "generateUploadURL",  "output": {"name": "string", "template": []}, "arguments": [], "isImplicitAsync": true, "isAsync": true}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Client", "name": "Client", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "address",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "port",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "family",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "localAddress",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "localPort",  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "address", "type": {"name": "string", "template": []}},{"optional": "false", "name": "port", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.CollectionInterface", "name": "CollectionInterface", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "routes",  "output": {"name": "array", "template": [{"name": "Websom.CollectionInterfaceRoute", "template": []}]}},{"type": "property", "binding": "bound", "name": "baseRoute",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "exposeSchema",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "exposedTo",  "output": {"name": "Websom.Permission", "template": []}},{"type": "property", "binding": "bound", "name": "collection",  "output": {"name": "Websom.Adapters.Database.Collection", "template": []}},{"type": "method", "binding": "bound", "name": "@construct", "flags": ["trust"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "collection", "type": {"name": "Websom.Adapters.Database.Collection", "template": []}},{"optional": "false", "name": "route", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "route",  "output": {"name": "Websom.CollectionInterface", "template": []}, "arguments": [{"optional": "false", "name": "route", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "exposeSchemaTo",  "output": {"name": "Websom.CollectionInterface", "template": []}, "arguments": [{"optional": "false", "name": "perm", "type": {"name": "Websom.Permission", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "auth",  "output": {"name": "Websom.CollectionInterface", "template": []}, "arguments": [{"optional": "false", "name": "permission", "type": {"name": "Websom.Permission", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "auth",  "output": {"name": "Websom.CollectionInterface", "template": []}, "arguments": [{"optional": "false", "name": "func", "type": {"name": "function", "template": [{"name": "bool", "template": []}, {"name": "Websom.Request", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "executes",  "output": {"name": "Websom.CollectionInterface", "template": []}, "arguments": [{"optional": "false", "name": "executes", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "write",  "output": {"name": "Websom.CollectionInterface", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "write",  "output": {"name": "Websom.CollectionInterface", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "string", "template": []}},{"optional": "false", "name": "defaultValue", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "limit",  "output": {"name": "Websom.CollectionInterface", "template": []}, "arguments": [{"optional": "false", "name": "min", "type": {"name": "int", "template": []}},{"optional": "false", "name": "max", "type": {"name": "int", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "format",  "output": {"name": "Websom.CollectionInterface", "template": []}, "arguments": [{"optional": "false", "name": "format", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "regexTest",  "output": {"name": "Websom.CollectionInterface", "template": []}, "arguments": [{"optional": "false", "name": "reg", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "unique",  "output": {"name": "Websom.CollectionInterface", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "restrict",  "output": {"name": "Websom.CollectionInterface", "template": []}, "arguments": [{"optional": "false", "name": "restriction", "type": {"name": "Websom.Restriction", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "restrict",  "output": {"name": "Websom.CollectionInterface", "template": []}, "arguments": [{"optional": "false", "name": "func", "type": {"name": "function", "template": [{"name": "bool", "template": []}, {"name": "Websom.Adapters.Database.Collection", "template": []}, {"name": "Websom.Adapters.Database.Field", "template": []}, {"name": "primitive", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "set",  "output": {"name": "Websom.CollectionInterface", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "string", "template": []}},{"optional": "false", "name": "defaultValue", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "setComputed",  "output": {"name": "Websom.CollectionInterface", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "string", "template": []}},{"optional": "false", "name": "func", "type": {"name": "function", "template": [{"name": "primitive", "template": []}, {"name": "Websom.Request", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "read",  "output": {"name": "Websom.CollectionInterface", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "transform", "flags": ["trust"],  "output": {"name": "Websom.CollectionInterface", "template": []}, "arguments": [{"optional": "false", "name": "transformer", "type": {"name": "Websom.Transformer", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "mutate",  "output": {"name": "Websom.CollectionInterface", "template": []}, "arguments": [{"optional": "false", "name": "func", "type": {"name": "function", "template": [{"name": "primitive", "template": []}, {"name": "Websom.Adapters.Database.Collection", "template": []}, {"name": "Websom.Request", "template": []}, {"name": "primitive", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "filter",  "output": {"name": "Websom.CollectionInterface", "template": []}, "arguments": [{"optional": "false", "name": "name", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "filter",  "output": {"name": "Websom.CollectionInterface", "template": []}, "arguments": [{"optional": "false", "name": "name", "type": {"name": "string", "template": []}},{"optional": "false", "name": "handler", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.Request", "template": []}, {"name": "Websom.Adapters.Database.SelectQuery", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "field",  "output": {"name": "Websom.CollectionInterface", "template": []}, "arguments": [{"optional": "false", "name": "name", "type": {"name": "string", "template": []}},{"optional": "false", "name": "operator", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "field",  "output": {"name": "Websom.CollectionInterface", "template": []}, "arguments": [{"optional": "false", "name": "name", "type": {"name": "string", "template": []}},{"optional": "false", "name": "operator", "type": {"name": "string", "template": []}},{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "fieldComputed",  "output": {"name": "Websom.CollectionInterface", "template": []}, "arguments": [{"optional": "false", "name": "name", "type": {"name": "string", "template": []}},{"optional": "false", "name": "operator", "type": {"name": "string", "template": []}},{"optional": "false", "name": "func", "type": {"name": "function", "template": [{"name": "primitive", "template": []}, {"name": "Websom.Request", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "force",  "output": {"name": "Websom.CollectionInterface", "template": []}, "arguments": [{"optional": "false", "name": "name", "type": {"name": "string", "template": []}},{"optional": "false", "name": "operator", "type": {"name": "string", "template": []}},{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "order",  "output": {"name": "Websom.CollectionInterface", "template": []}, "arguments": [{"optional": "false", "name": "name", "type": {"name": "string", "template": []}},{"optional": "false", "name": "order", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "order",  "output": {"name": "Websom.CollectionInterface", "template": []}, "arguments": [{"optional": "false", "name": "name", "type": {"name": "string", "template": []}},{"optional": "false", "name": "order", "type": {"name": "string", "template": []}},{"optional": "false", "name": "clientControlled", "type": {"name": "bool", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "on",  "output": {"name": "Websom.CollectionInterface", "template": []}, "arguments": [{"optional": "false", "name": "hook", "type": {"name": "string", "template": []}},{"optional": "false", "name": "func", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.Request", "template": []}, {"name": "array", "template": [{"name": "Websom.Adapters.Database.Document", "template": []}]}]}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.CollectionInterfaceRoute", "name": "CollectionInterfaceRoute", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "collection",  "output": {"name": "Websom.CollectionInterface", "template": []}},{"type": "property", "binding": "bound", "name": "authenticators",  "output": {"name": "array", "template": [{"name": "Websom.Authenticator", "template": []}]}},{"type": "property", "binding": "bound", "name": "reads",  "output": {"name": "array", "template": [{"name": "Websom.CollectionInterfaceRead", "template": []}]}},{"type": "property", "binding": "bound", "name": "writes",  "output": {"name": "array", "template": [{"name": "Websom.CollectionInterfaceWrite", "template": []}]}},{"type": "property", "binding": "bound", "name": "sets",  "output": {"name": "array", "template": [{"name": "Websom.CollectionInterfaceWriteSet", "template": []}]}},{"type": "property", "binding": "bound", "name": "computedSets",  "output": {"name": "array", "template": [{"name": "Websom.CollectionInterfaceWriteSetComputed", "template": []}]}},{"type": "property", "binding": "bound", "name": "filters",  "output": {"name": "array", "template": [{"name": "Websom.CollectionInterfaceFilter", "template": []}]}},{"type": "property", "binding": "bound", "name": "hooks",  "output": {"name": "map", "template": [{"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.Request", "template": []}, {"name": "array", "template": [{"name": "Websom.Adapters.Database.Document", "template": []}]}]}]}},{"type": "property", "binding": "bound", "name": "route",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "executes",  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "collection", "type": {"name": "Websom.CollectionInterface", "template": []}},{"optional": "false", "name": "route", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "findFilter",  "output": {"name": "Websom.CollectionInterfaceFilter", "template": []}, "arguments": [{"optional": "false", "name": "name", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "trigger",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "hook", "type": {"name": "string", "template": []}},{"optional": "false", "name": "req", "type": {"name": "Websom.Request", "template": []}},{"optional": "false", "name": "docs", "type": {"name": "array", "template": [{"name": "Websom.Adapters.Database.Document", "template": []}]}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": ["header"], "templates": [], "route": "Websom.Restriction", "name": "Restriction", "inherits": ["everything"], "members": [{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "testServer", "flags": ["trust"],  "output": {"name": "bool", "template": []}, "arguments": [{"optional": "false", "name": "collection", "type": {"name": "Websom.Adapters.Database.Collection", "template": []}},{"optional": "false", "name": "field", "type": {"name": "Websom.Adapters.Database.Field", "template": []}},{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "testClient",  "output": {"name": "string", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "message",  "output": {"name": "string", "template": []}, "arguments": [{"optional": "false", "name": "fieldName", "type": {"name": "string", "template": []}},{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "name",  "output": {"name": "string", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "exposeToClient",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}, "arguments": [], "isImplicitAsync": false, "isAsync": false}], "raw": {"type":"class","doc":[],"flags":["header"],"name":"Websom.Restriction","members":[{"type":"method","name":"@construct","value":{"type":"method","parameters":[],"body":{"type":"block","code":[],"start":7330,"end":7331}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":7312,"doc":[],"end":7331},{"type":"method","name":"testServer","value":{"type":"method","parameters":[{"type":{"name":"Websom.Adapters.Database.Collection","reference":0,"start":7374,"end":7409,"template":false},"doc":[],"name":"collection","optional":[]},{"type":{"name":"Websom.Adapters.Database.Field","reference":0,"start":7422,"end":7452,"template":false},"doc":[],"name":"field","optional":[]},{"type":{"name":"primitive","reference":0,"start":7460,"end":7469,"template":false},"doc":[],"name":"value","optional":[]}],"body":{"type":"block","code":[],"start":7477,"end":7478}},"output":{"name":"bool","template":[]},"flags":["trust"],"templates":[],"start":7332,"attribute":[{"key":"ForceAsync","value":true}],"doc":[],"end":7478},{"type":"method","name":"testClient","value":{"type":"method","parameters":[],"body":{"type":"block","code":[],"start":7504,"end":7505}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":7479,"doc":[],"end":7505},{"type":"method","name":"message","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":7526,"end":7532,"template":false},"doc":[],"name":"fieldName","optional":[]},{"type":{"name":"primitive","reference":0,"start":7544,"end":7553,"template":false},"doc":[],"name":"value","optional":[]}],"body":{"type":"block","code":[{"type":"return","expression":{"terms":[{"operator":"+","term":{"type":"constant","name":"this.name","start":7573,"end":7584,"appendix":[{"type":"call","expression":[]}]}},{"operator":"+","term":{"type":"literal","literalType":"string","value":" failed on field ","start":7587,"end":7606,"appendix":[]}},{"operator":"+","term":{"type":"constant","name":"fieldName","start":7609,"end":7618,"appendix":[]}},{"type":"literal","literalType":"string","value":".","start":7621,"end":7624,"appendix":[]}],"type":"expression","start":7573,"end":7623},"start":7566,"end":7624}],"start":7561,"end":7628}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":7506,"doc":[],"end":7628},{"type":"method","name":"name","value":{"type":"method","parameters":[],"body":{"type":"block","code":[{"type":"return","expression":{"terms":[{"type":"literal","literalType":"string","value":"Restriction","start":7660,"end":7673,"appendix":[]}],"type":"expression","start":7660,"end":7672},"start":7653,"end":7673}],"start":7648,"end":7677}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":7629,"doc":[],"end":7677},{"type":"method","name":"exposeToClient","value":{"type":"method","parameters":[],"body":{"type":"block","code":[{"type":"return","expression":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"map","start":7720,"end":7725,"appendix":[{"type":"call","expression":[]}]}],"type":"expression","start":7720,"end":7724},"start":7716,"end":7725,"appendix":[]}],"type":"expression","start":7716,"end":7724},"start":7709,"end":7725}],"start":7704,"end":7729}},"output":{"name":"map","template":[]},"flags":[],"templates":[],"start":7678,"doc":[],"end":7729}],"templates":[],"start":7272,"end":7732}},{"type": "class", "base": "namespace", "flags": [], "templates": [], "route": "Websom.Restrictions", "name": "Restrictions", "inherits": ["everything"], "members": []},{"type": "class", "base": "class", "flags": ["header","header"], "templates": [], "route": "Websom.Restrictions.Limit", "name": "Limit", "inherits": ["Websom.Restriction","everything"], "members": [{"type": "property", "binding": "bound", "name": "min",  "output": {"name": "int", "template": []}},{"type": "property", "binding": "bound", "name": "max",  "output": {"name": "int", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "min", "type": {"name": "int", "template": []}},{"optional": "false", "name": "max", "type": {"name": "int", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "testServer", "flags": ["trust", "override"],  "output": {"name": "bool", "template": []}, "arguments": [{"optional": "false", "name": "collection", "type": {"name": "Websom.Adapters.Database.Collection", "template": []}},{"optional": "false", "name": "field", "type": {"name": "Websom.Adapters.Database.Field", "template": []}},{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "name", "flags": ["override"],  "output": {"name": "string", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "exposeToClient", "flags": ["override"],  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "testClient",  "output": {"name": "string", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "message",  "output": {"name": "string", "template": []}, "arguments": [{"optional": "false", "name": "fieldName", "type": {"name": "string", "template": []}},{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": false, "isAsync": false}], "raw": {"type":"class","doc":[],"flags":["header","header"],"name":"Websom.Restrictions.Limit","members":[{"type":"property","name":"min","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"number","value":0,"integer":true,"start":7854,"end":7855,"appendix":[]}],"type":"expression","start":7854,"end":7854}},"output":{"name":"int","template":[]},"flags":[],"templates":[],"start":7844,"doc":[],"end":7855},{"type":"property","name":"max","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"number","value":0,"integer":true,"start":7869,"end":7870,"appendix":[]}],"type":"expression","start":7869,"end":7869}},"output":{"name":"int","template":[]},"flags":[],"templates":[],"start":7856,"doc":[],"end":7870},{"type":"method","name":"@construct","value":{"type":"method","parameters":[{"type":{"name":"int","reference":0,"start":7892,"end":7895,"template":false},"doc":[],"name":"min","optional":[]},{"type":{"name":"int","reference":0,"start":7901,"end":7904,"template":false},"doc":[],"name":"max","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.min","start":7915,"end":7923,"appendix":[]}},{"type":"constant","name":"min","start":7926,"end":7929,"appendix":[]}],"type":"expression","start":7915,"end":7929},{"terms":[{"operator":"=","term":{"type":"constant","name":"this.max","start":7934,"end":7942,"appendix":[]}},{"type":"constant","name":"max","start":7945,"end":7948,"appendix":[]}],"type":"expression","start":7930,"end":7948}],"start":7910,"end":7952}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":7871,"doc":[],"end":7952},{"type":"method","name":"testServer","value":{"type":"method","parameters":[{"type":{"name":"Websom.Adapters.Database.Collection","reference":0,"start":8004,"end":8039,"template":false},"doc":[],"name":"collection","optional":[]},{"type":{"name":"Websom.Adapters.Database.Field","reference":0,"start":8052,"end":8082,"template":false},"doc":[],"name":"field","optional":[]},{"type":{"name":"primitive","reference":0,"start":8090,"end":8099,"template":false},"doc":[],"name":"value","optional":[]}],"body":{"type":"block","code":[{"type":"if","alternatives":[{"type":"elseif","check":{"type":"group","expression":{"terms":[{"operator":"==","term":{"type":"constant","name":"field.type","start":8274,"end":8284,"appendix":[]}},{"operator":"or","term":{"type":"literal","literalType":"string","value":"integer","start":8288,"end":8297,"appendix":[]}},{"operator":"==","term":{"type":"constant","name":"field.type","start":8301,"end":8311,"appendix":[]}},{"type":"literal","literalType":"string","value":"float","start":8315,"end":8322,"appendix":[]}],"type":"expression","start":8274,"end":8321}},"body":{"type":"block","code":[{"type":"define","name":"castToFloat","valueType":{"name":"float","reference":0,"start":8334,"end":8339,"template":false},"value":{"terms":[{"type":"constant","name":"value","start":8354,"end":8359,"appendix":[]}],"type":"expression","start":8354,"end":8358},"start":8330,"end":8359},{"type":"return","expression":{"terms":[{"operator":">=","term":{"type":"constant","name":"castToFloat","start":8374,"end":8385,"appendix":[]}},{"operator":"and","term":{"type":"constant","name":"this.min","start":8389,"end":8397,"appendix":[]}},{"operator":"<=","term":{"type":"constant","name":"castToFloat","start":8402,"end":8413,"appendix":[]}},{"type":"constant","name":"this.max","start":8417,"end":8425,"appendix":[]}],"type":"expression","start":8374,"end":8424},"start":8360,"end":8425}],"start":8324,"end":8430}},{"type":"elseif","check":{"type":"group","expression":{"terms":[{"operator":"==","term":{"type":"constant","name":"field.type","start":8440,"end":8450,"appendix":[]}},{"type":"literal","literalType":"string","value":"array","start":8454,"end":8461,"appendix":[]}],"type":"expression","start":8440,"end":8460}},"body":{"type":"block","code":[{"type":"define","name":"castToArray","valueType":{"name":"array","reference":0,"start":8473,"end":8489,"template":[{"name":"primitive","reference":0,"start":8474,"end":8483,"template":false}]},"value":{"terms":[{"type":"constant","name":"value","start":8504,"end":8509,"appendix":[]}],"type":"expression","start":8504,"end":8508},"start":8469,"end":8509},{"type":"return","expression":{"terms":[{"operator":">=","term":{"type":"constant","name":"castToArray.length","start":8527,"end":8545,"appendix":[]}},{"operator":"and","term":{"type":"constant","name":"this.min","start":8549,"end":8557,"appendix":[]}},{"operator":"<=","term":{"type":"constant","name":"castToArray.length","start":8562,"end":8580,"appendix":[]}},{"type":"constant","name":"this.max","start":8584,"end":8592,"appendix":[]}],"type":"expression","start":8527,"end":8591},"start":8510,"end":8592}],"start":8463,"end":8597}},{"type":"else","body":{"type":"block","code":[{"type":"throw","expression":{"terms":[{"type":"literal","literalType":"string","value":"Limit restriction only works on fields of type: string, integer, float, and array","start":8614,"end":8697,"appendix":[]}],"type":"expression","start":8614,"end":8696},"start":8608,"end":8697}],"start":8602,"end":8702}}],"check":{"type":"group","expression":{"terms":[{"operator":"==","term":{"type":"constant","name":"field.type","start":8116,"end":8126,"appendix":[]}},{"type":"literal","literalType":"string","value":"string","start":8130,"end":8138,"appendix":[]}],"type":"expression","start":8116,"end":8137}},"body":{"type":"block","code":[{"type":"define","name":"castToString","valueType":{"name":"string","reference":0,"start":8150,"end":8156,"template":false},"value":{"terms":[{"type":"constant","name":"value","start":8172,"end":8177,"appendix":[]}],"type":"expression","start":8172,"end":8176},"start":8146,"end":8177},{"type":"return","expression":{"terms":[{"operator":">=","term":{"type":"constant","name":"castToString.length","start":8192,"end":8211,"appendix":[]}},{"operator":"and","term":{"type":"constant","name":"this.min","start":8215,"end":8223,"appendix":[]}},{"operator":"<=","term":{"type":"constant","name":"castToString.length","start":8228,"end":8247,"appendix":[]}},{"type":"constant","name":"this.max","start":8251,"end":8259,"appendix":[]}],"type":"expression","start":8192,"end":8258},"start":8178,"end":8259}],"start":8140,"end":8264},"start":8112,"end":8702}],"start":8107,"end":8706}},"output":{"name":"bool","template":[]},"flags":["override","trust"],"templates":[],"start":7953,"attribute":[{"key":"ForceAsync","value":true},{"key":"ForceAsync","value":true}],"doc":[],"end":8706},{"type":"method","name":"name","value":{"type":"method","parameters":[],"body":{"type":"block","code":[{"type":"return","expression":{"terms":[{"type":"literal","literalType":"string","value":"Limit","start":8747,"end":8754,"appendix":[]}],"type":"expression","start":8747,"end":8753},"start":8740,"end":8754}],"start":8735,"end":8758}},"output":{"name":"string","template":[]},"flags":["override"],"templates":[],"start":8707,"doc":[],"end":8758},{"type":"method","name":"exposeToClient","value":{"type":"method","parameters":[],"body":{"type":"block","code":[{"type":"define","name":"mp","valueType":"","auto":true,"value":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"map","start":8812,"end":8817,"appendix":[{"type":"call","expression":[]}]}],"type":"expression","start":8812,"end":8816},"start":8808,"end":8817,"appendix":[]}],"type":"expression","start":8808,"end":8816},"start":8799,"end":8817},{"terms":[{"operator":"=","term":{"type":"constant","name":"mp","start":8824,"end":8833,"appendix":[{"type":"index","expression":{"terms":[{"type":"literal","literalType":"string","value":"min","start":8827,"end":8832,"appendix":[]}],"type":"expression","start":8827,"end":8831}}]}},{"type":"constant","name":"this.min","start":8836,"end":8844,"appendix":[]}],"type":"expression","start":8818,"end":8844},{"terms":[{"operator":"=","term":{"type":"constant","name":"mp","start":8849,"end":8858,"appendix":[{"type":"index","expression":{"terms":[{"type":"literal","literalType":"string","value":"max","start":8852,"end":8857,"appendix":[]}],"type":"expression","start":8852,"end":8856}}]}},{"type":"constant","name":"this.max","start":8861,"end":8869,"appendix":[]}],"type":"expression","start":8845,"end":8869},{"terms":[{"operator":"=","term":{"type":"constant","name":"mp","start":8874,"end":8884,"appendix":[{"type":"index","expression":{"terms":[{"type":"literal","literalType":"string","value":"type","start":8877,"end":8883,"appendix":[]}],"type":"expression","start":8877,"end":8882}}]}},{"type":"literal","literalType":"string","value":"limit","start":8887,"end":8894,"appendix":[]}],"type":"expression","start":8870,"end":8894},{"type":"return","expression":{"terms":[{"type":"constant","name":"mp","start":8908,"end":8910,"appendix":[]}],"type":"expression","start":8908,"end":8909},"start":8895,"end":8910}],"start":8794,"end":8914}},"output":{"name":"map","template":[]},"flags":["override"],"templates":[],"start":8759,"doc":[],"end":8914}],"inherits":{"types":[{"name":"Websom.Restriction","reference":0,"start":7821,"end":7839,"template":false}]},"templates":[],"start":7769,"end":8917}},{"type": "class", "base": "class", "flags": ["header","header"], "templates": [], "route": "Websom.Restrictions.Unique", "name": "Unique", "inherits": ["Websom.Restriction","everything"], "members": [{"type": "property", "binding": "bound", "name": "uniqueRoute",  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "testServer", "flags": ["trust", "override"],  "output": {"name": "bool", "template": []}, "arguments": [{"optional": "false", "name": "collection", "type": {"name": "Websom.Adapters.Database.Collection", "template": []}},{"optional": "false", "name": "field", "type": {"name": "Websom.Adapters.Database.Field", "template": []}},{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "name", "flags": ["override"],  "output": {"name": "string", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "exposeToClient", "flags": ["override"],  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "testClient",  "output": {"name": "string", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "message",  "output": {"name": "string", "template": []}, "arguments": [{"optional": "false", "name": "fieldName", "type": {"name": "string", "template": []}},{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": false, "isAsync": false}], "raw": {"type":"class","doc":[],"flags":["header","header"],"name":"Websom.Restrictions.Unique","members":[{"type":"property","name":"uniqueRoute","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":9015,"end":9017,"appendix":[]}],"type":"expression","start":9015,"end":9016}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":8994,"doc":[],"end":9017},{"type":"method","name":"testServer","value":{"type":"method","parameters":[{"type":{"name":"Websom.Adapters.Database.Collection","reference":0,"start":9069,"end":9104,"template":false},"doc":[],"name":"collection","optional":[]},{"type":{"name":"Websom.Adapters.Database.Field","reference":0,"start":9117,"end":9147,"template":false},"doc":[],"name":"field","optional":[]},{"type":{"name":"primitive","reference":0,"start":9155,"end":9164,"template":false},"doc":[],"name":"value","optional":[]}],"body":{"type":"block","code":[{"type":"return","expression":{"terms":[{"operator":"==","term":{"type":"constant","name":"collection.where","start":9184,"end":9257,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"field.name","start":9201,"end":9211,"appendix":[]}],"type":"expression","start":9201,"end":9210},{"terms":[{"type":"literal","literalType":"string","value":"==","start":9213,"end":9217,"appendix":[]}],"type":"expression","start":9212,"end":9216},{"terms":[{"type":"constant","name":"value","start":9219,"end":9224,"appendix":[]}],"type":"expression","start":9218,"end":9223}]},{"type":"dot","name":"limit"},{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"number","value":1,"integer":true,"start":9232,"end":9233,"appendix":[]}],"type":"expression","start":9232,"end":9232}]},{"type":"dot","name":"get"},{"type":"call","expression":[]},{"type":"dot","name":"documents.length"}]}},{"type":"literal","literalType":"number","value":0,"integer":true,"start":9261,"end":9262,"appendix":[]}],"type":"expression","start":9184,"end":9261},"start":9177,"end":9262}],"start":9172,"end":9266}},"output":{"name":"bool","template":[]},"flags":["override","trust"],"templates":[],"start":9018,"attribute":[{"key":"ForceAsync","value":true},{"key":"ForceAsync","value":true}],"doc":[],"end":9266},{"type":"method","name":"name","value":{"type":"method","parameters":[],"body":{"type":"block","code":[{"type":"return","expression":{"terms":[{"type":"literal","literalType":"string","value":"Unique","start":9307,"end":9315,"appendix":[]}],"type":"expression","start":9307,"end":9314},"start":9300,"end":9315}],"start":9295,"end":9319}},"output":{"name":"string","template":[]},"flags":["override"],"templates":[],"start":9267,"doc":[],"end":9319},{"type":"method","name":"exposeToClient","value":{"type":"method","parameters":[],"body":{"type":"block","code":[{"type":"define","name":"mp","valueType":"","auto":true,"value":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"map","start":9373,"end":9378,"appendix":[{"type":"call","expression":[]}]}],"type":"expression","start":9373,"end":9377},"start":9369,"end":9378,"appendix":[]}],"type":"expression","start":9369,"end":9377},"start":9360,"end":9378},{"terms":[{"operator":"=","term":{"type":"constant","name":"mp","start":9385,"end":9396,"appendix":[{"type":"index","expression":{"terms":[{"type":"literal","literalType":"string","value":"route","start":9388,"end":9395,"appendix":[]}],"type":"expression","start":9388,"end":9394}}]}},{"type":"constant","name":"this.uniqueRoute","start":9399,"end":9415,"appendix":[]}],"type":"expression","start":9379,"end":9415},{"terms":[{"operator":"=","term":{"type":"constant","name":"mp","start":9420,"end":9430,"appendix":[{"type":"index","expression":{"terms":[{"type":"literal","literalType":"string","value":"type","start":9423,"end":9429,"appendix":[]}],"type":"expression","start":9423,"end":9428}}]}},{"type":"literal","literalType":"string","value":"unique","start":9433,"end":9441,"appendix":[]}],"type":"expression","start":9416,"end":9441},{"type":"return","expression":{"terms":[{"type":"constant","name":"mp","start":9455,"end":9457,"appendix":[]}],"type":"expression","start":9455,"end":9456},"start":9442,"end":9457}],"start":9355,"end":9461}},"output":{"name":"map","template":[]},"flags":["override"],"templates":[],"start":9320,"doc":[],"end":9461}],"inherits":{"types":[{"name":"Websom.Restriction","reference":0,"start":8971,"end":8989,"template":false}]},"templates":[],"start":8918,"end":9464}},{"type": "class", "base": "class", "flags": ["header","header"], "templates": [], "route": "Websom.Restrictions.Format", "name": "Format", "inherits": ["Websom.Restriction","everything"], "members": [{"type": "property", "binding": "bound", "name": "format",  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "format", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "testServer", "flags": ["trust", "override"],  "output": {"name": "bool", "template": []}, "arguments": [{"optional": "false", "name": "collection", "type": {"name": "Websom.Adapters.Database.Collection", "template": []}},{"optional": "false", "name": "field", "type": {"name": "Websom.Adapters.Database.Field", "template": []}},{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "name", "flags": ["override"],  "output": {"name": "string", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "exposeToClient", "flags": ["override"],  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "testClient",  "output": {"name": "string", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "message",  "output": {"name": "string", "template": []}, "arguments": [{"optional": "false", "name": "fieldName", "type": {"name": "string", "template": []}},{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": false, "isAsync": false}], "raw": {"type":"class","doc":[],"flags":["header","header"],"name":"Websom.Restrictions.Format","members":[{"type":"property","name":"format","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":9557,"end":9559,"appendix":[]}],"type":"expression","start":9557,"end":9558}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":9541,"doc":[],"end":9559},{"type":"method","name":"@construct","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":9581,"end":9587,"template":false},"doc":[],"name":"format","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.format","start":9601,"end":9612,"appendix":[]}},{"type":"constant","name":"format","start":9615,"end":9621,"appendix":[]}],"type":"expression","start":9601,"end":9621}],"start":9596,"end":9625}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":9560,"doc":[],"end":9625},{"type":"method","name":"testServer","value":{"type":"method","parameters":[{"type":{"name":"Websom.Adapters.Database.Collection","reference":0,"start":9677,"end":9712,"template":false},"doc":[],"name":"collection","optional":[]},{"type":{"name":"Websom.Adapters.Database.Field","reference":0,"start":9725,"end":9755,"template":false},"doc":[],"name":"field","optional":[]},{"type":{"name":"primitive","reference":0,"start":9763,"end":9772,"template":false},"doc":[],"name":"value","optional":[]}],"body":{"type":"block","code":[{"type":"define","name":"valueAsString","valueType":{"name":"string","reference":0,"start":9789,"end":9795,"template":false},"value":{"terms":[{"type":"constant","name":"value","start":9812,"end":9817,"appendix":[]}],"type":"expression","start":9812,"end":9816},"start":9785,"end":9817},{"type":"if","alternatives":[{"type":"elseif","check":{"type":"group","expression":{"terms":[{"operator":"==","term":{"type":"constant","name":"this.format","start":10151,"end":10162,"appendix":[]}},{"type":"literal","literalType":"string","value":"single-line","start":10166,"end":10179,"appendix":[]}],"type":"expression","start":10151,"end":10178}},"body":{"type":"block","code":[{"type":"return","expression":{"terms":[{"type":"constant","name":"valueAsString.test","start":10194,"end":10227,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"string","value":"^([^\\n]*)$","start":10213,"end":10226,"appendix":[]}],"type":"expression","start":10213,"end":10225}]}]}],"type":"expression","start":10194,"end":10226},"start":10187,"end":10227}],"start":10181,"end":10232}},{"type":"elseif","check":{"type":"group","expression":{"terms":[{"operator":"==","term":{"type":"constant","name":"this.format","start":10242,"end":10253,"appendix":[]}},{"type":"literal","literalType":"string","value":"number","start":10257,"end":10265,"appendix":[]}],"type":"expression","start":10242,"end":10264}},"body":{"type":"block","code":[{"type":"return","expression":{"terms":[{"type":"constant","name":"valueAsString.test","start":10280,"end":10317,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"string","value":"^(-)?([undefined.,]*)$","start":10299,"end":10316,"appendix":[]}],"type":"expression","start":10299,"end":10315}]}]}],"type":"expression","start":10280,"end":10316},"start":10273,"end":10317}],"start":10267,"end":10322}}],"check":{"type":"group","expression":{"terms":[{"operator":"==","term":{"type":"constant","name":"this.format","start":9828,"end":9839,"appendix":[]}},{"type":"literal","literalType":"string","value":"email","start":9843,"end":9850,"appendix":[]}],"type":"expression","start":9828,"end":9849}},"body":{"type":"block","code":[{"type":"return","expression":{"terms":[{"type":"constant","name":"valueAsString.test","start":9982,"end":10136,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"string","value":"^(([^<>()\\[\\]\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\.,;:\\s@\"]+)*)|(\".+\"))@(([^<>()[\\]\\.,;:\\s@\"]+\\.)+[^<>()[\\]\\.,;:\\s@\"]{2,})","start":10001,"end":10135,"appendix":[]}],"type":"expression","start":10001,"end":10134}]}]}],"type":"expression","start":9982,"end":10135},"start":9975,"end":10136}],"start":9852,"end":10141},"start":9818,"end":10322}],"start":9780,"end":10326}},"output":{"name":"bool","template":[]},"flags":["override","trust"],"templates":[],"start":9626,"attribute":[{"key":"ForceAsync","value":true},{"key":"ForceAsync","value":true}],"doc":[],"end":10326},{"type":"method","name":"name","value":{"type":"method","parameters":[],"body":{"type":"block","code":[{"type":"return","expression":{"terms":[{"type":"literal","literalType":"string","value":"Format","start":10367,"end":10375,"appendix":[]}],"type":"expression","start":10367,"end":10374},"start":10360,"end":10375}],"start":10355,"end":10379}},"output":{"name":"string","template":[]},"flags":["override"],"templates":[],"start":10327,"doc":[],"end":10379},{"type":"method","name":"exposeToClient","value":{"type":"method","parameters":[],"body":{"type":"block","code":[{"type":"define","name":"mp","valueType":"","auto":true,"value":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"map","start":10433,"end":10438,"appendix":[{"type":"call","expression":[]}]}],"type":"expression","start":10433,"end":10437},"start":10429,"end":10438,"appendix":[]}],"type":"expression","start":10429,"end":10437},"start":10420,"end":10438},{"terms":[{"operator":"=","term":{"type":"constant","name":"mp","start":10445,"end":10457,"appendix":[{"type":"index","expression":{"terms":[{"type":"literal","literalType":"string","value":"format","start":10448,"end":10456,"appendix":[]}],"type":"expression","start":10448,"end":10455}}]}},{"type":"constant","name":"this.format","start":10460,"end":10471,"appendix":[]}],"type":"expression","start":10439,"end":10471},{"terms":[{"operator":"=","term":{"type":"constant","name":"mp","start":10476,"end":10486,"appendix":[{"type":"index","expression":{"terms":[{"type":"literal","literalType":"string","value":"type","start":10479,"end":10485,"appendix":[]}],"type":"expression","start":10479,"end":10484}}]}},{"type":"literal","literalType":"string","value":"format","start":10489,"end":10497,"appendix":[]}],"type":"expression","start":10472,"end":10497},{"type":"return","expression":{"terms":[{"type":"constant","name":"mp","start":10511,"end":10513,"appendix":[]}],"type":"expression","start":10511,"end":10512},"start":10498,"end":10513}],"start":10415,"end":10517}},"output":{"name":"map","template":[]},"flags":["override"],"templates":[],"start":10380,"doc":[],"end":10517}],"inherits":{"types":[{"name":"Websom.Restriction","reference":0,"start":9518,"end":9536,"template":false}]},"templates":[],"start":9465,"end":10520}},{"type": "class", "base": "class", "flags": ["header","header"], "templates": [], "route": "Websom.Restrictions.Regex", "name": "Regex", "inherits": ["Websom.Restriction","everything"], "members": [{"type": "property", "binding": "bound", "name": "regex",  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "regex", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "testServer", "flags": ["trust", "override"],  "output": {"name": "bool", "template": []}, "arguments": [{"optional": "false", "name": "collection", "type": {"name": "Websom.Adapters.Database.Collection", "template": []}},{"optional": "false", "name": "field", "type": {"name": "Websom.Adapters.Database.Field", "template": []}},{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "name", "flags": ["override"],  "output": {"name": "string", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "exposeToClient", "flags": ["override"],  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "testClient",  "output": {"name": "string", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "message",  "output": {"name": "string", "template": []}, "arguments": [{"optional": "false", "name": "fieldName", "type": {"name": "string", "template": []}},{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": false, "isAsync": false}], "raw": {"type":"class","doc":[],"flags":["header","header"],"name":"Websom.Restrictions.Regex","members":[{"type":"property","name":"regex","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":10611,"end":10613,"appendix":[]}],"type":"expression","start":10611,"end":10612}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":10596,"doc":[],"end":10613},{"type":"method","name":"@construct","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":10635,"end":10641,"template":false},"doc":[],"name":"regex","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.regex","start":10654,"end":10664,"appendix":[]}},{"type":"constant","name":"regex","start":10667,"end":10672,"appendix":[]}],"type":"expression","start":10654,"end":10672}],"start":10649,"end":10676}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":10614,"doc":[],"end":10676},{"type":"method","name":"testServer","value":{"type":"method","parameters":[{"type":{"name":"Websom.Adapters.Database.Collection","reference":0,"start":10728,"end":10763,"template":false},"doc":[],"name":"collection","optional":[]},{"type":{"name":"Websom.Adapters.Database.Field","reference":0,"start":10776,"end":10806,"template":false},"doc":[],"name":"field","optional":[]},{"type":{"name":"primitive","reference":0,"start":10814,"end":10823,"template":false},"doc":[],"name":"value","optional":[]}],"body":{"type":"block","code":[{"type":"define","name":"valueAsString","valueType":{"name":"string","reference":0,"start":10840,"end":10846,"template":false},"value":{"terms":[{"type":"constant","name":"value","start":10863,"end":10868,"appendix":[]}],"type":"expression","start":10863,"end":10867},"start":10836,"end":10868},{"type":"return","expression":{"terms":[{"type":"constant","name":"valueAsString.test","start":10884,"end":10914,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"this.regex","start":10903,"end":10913,"appendix":[]}],"type":"expression","start":10903,"end":10912}]}]}],"type":"expression","start":10884,"end":10913},"start":10869,"end":10914}],"start":10831,"end":10918}},"output":{"name":"bool","template":[]},"flags":["override","trust"],"templates":[],"start":10677,"attribute":[{"key":"ForceAsync","value":true},{"key":"ForceAsync","value":true}],"doc":[],"end":10918},{"type":"method","name":"name","value":{"type":"method","parameters":[],"body":{"type":"block","code":[{"type":"return","expression":{"terms":[{"type":"literal","literalType":"string","value":"Regex","start":10959,"end":10966,"appendix":[]}],"type":"expression","start":10959,"end":10965},"start":10952,"end":10966}],"start":10947,"end":10970}},"output":{"name":"string","template":[]},"flags":["override"],"templates":[],"start":10919,"doc":[],"end":10970},{"type":"method","name":"exposeToClient","value":{"type":"method","parameters":[],"body":{"type":"block","code":[{"type":"define","name":"mp","valueType":"","auto":true,"value":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"map","start":11024,"end":11029,"appendix":[{"type":"call","expression":[]}]}],"type":"expression","start":11024,"end":11028},"start":11020,"end":11029,"appendix":[]}],"type":"expression","start":11020,"end":11028},"start":11011,"end":11029},{"terms":[{"operator":"=","term":{"type":"constant","name":"mp","start":11036,"end":11047,"appendix":[{"type":"index","expression":{"terms":[{"type":"literal","literalType":"string","value":"regex","start":11039,"end":11046,"appendix":[]}],"type":"expression","start":11039,"end":11045}}]}},{"type":"constant","name":"this.regex","start":11050,"end":11060,"appendix":[]}],"type":"expression","start":11030,"end":11060},{"terms":[{"operator":"=","term":{"type":"constant","name":"mp","start":11065,"end":11075,"appendix":[{"type":"index","expression":{"terms":[{"type":"literal","literalType":"string","value":"type","start":11068,"end":11074,"appendix":[]}],"type":"expression","start":11068,"end":11073}}]}},{"type":"literal","literalType":"string","value":"regex","start":11078,"end":11085,"appendix":[]}],"type":"expression","start":11061,"end":11085},{"type":"return","expression":{"terms":[{"type":"constant","name":"mp","start":11099,"end":11101,"appendix":[]}],"type":"expression","start":11099,"end":11100},"start":11086,"end":11101}],"start":11006,"end":11105}},"output":{"name":"map","template":[]},"flags":["override"],"templates":[],"start":10971,"doc":[],"end":11105}],"inherits":{"types":[{"name":"Websom.Restriction","reference":0,"start":10573,"end":10591,"template":false}]},"templates":[],"start":10521,"end":11108}},{"type": "class", "base": "class", "flags": ["header","header"], "templates": [], "route": "Websom.Restrictions.Function", "name": "Function", "inherits": ["Websom.Restriction","everything"], "members": [{"type": "property", "binding": "bound", "name": "tester",  "output": {"name": "function", "template": [{"name": "bool", "template": []}, {"name": "Websom.Adapters.Database.Collection", "template": []}, {"name": "Websom.Adapters.Database.Field", "template": []}, {"name": "primitive", "template": []}]}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "func", "type": {"name": "function", "template": [{"name": "bool", "template": []}, {"name": "Websom.Adapters.Database.Collection", "template": []}, {"name": "Websom.Adapters.Database.Field", "template": []}, {"name": "primitive", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "testServer", "flags": ["trust", "override"],  "output": {"name": "bool", "template": []}, "arguments": [{"optional": "false", "name": "collection", "type": {"name": "Websom.Adapters.Database.Collection", "template": []}},{"optional": "false", "name": "field", "type": {"name": "Websom.Adapters.Database.Field", "template": []}},{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "name", "flags": ["override"],  "output": {"name": "string", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "testClient",  "output": {"name": "string", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "message",  "output": {"name": "string", "template": []}, "arguments": [{"optional": "false", "name": "fieldName", "type": {"name": "string", "template": []}},{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "exposeToClient",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}, "arguments": [], "isImplicitAsync": false, "isAsync": false}], "raw": {"type":"class","doc":[],"flags":["header","header"],"name":"Websom.Restrictions.Function","members":[{"type":"property","doc":[],"output":{"name":"function","reference":0,"start":11187,"end":11281,"template":[{"name":"bool","reference":0,"start":11188,"end":11192,"template":false},{"name":"Websom.Adapters.Database.Collection","reference":0,"start":11193,"end":11229,"template":false},{"name":"Websom.Adapters.Database.Field","reference":0,"start":11230,"end":11261,"template":false},{"name":"primitive","reference":0,"start":11262,"end":11272,"template":false}]},"name":"tester","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":11291,"end":11295,"appendix":[]}],"type":"expression","start":11291,"end":11294}},"flags":[],"templates":[],"start":11187,"end":11295},{"type":"method","name":"@construct","value":{"type":"method","parameters":[{"type":{"name":"function","reference":0,"start":11317,"end":11411,"template":[{"name":"bool","reference":0,"start":11318,"end":11322,"template":false},{"name":"Websom.Adapters.Database.Collection","reference":0,"start":11323,"end":11359,"template":false},{"name":"Websom.Adapters.Database.Field","reference":0,"start":11360,"end":11391,"template":false},{"name":"primitive","reference":0,"start":11392,"end":11402,"template":false}]},"doc":[],"name":"func","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.tester","start":11423,"end":11434,"appendix":[]}},{"type":"constant","name":"func","start":11437,"end":11441,"appendix":[]}],"type":"expression","start":11423,"end":11441}],"start":11418,"end":11445}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":11296,"doc":[],"end":11445},{"type":"method","name":"testServer","value":{"type":"method","parameters":[{"type":{"name":"Websom.Adapters.Database.Collection","reference":0,"start":11497,"end":11532,"template":false},"doc":[],"name":"collection","optional":[]},{"type":{"name":"Websom.Adapters.Database.Field","reference":0,"start":11545,"end":11575,"template":false},"doc":[],"name":"field","optional":[]},{"type":{"name":"primitive","reference":0,"start":11583,"end":11592,"template":false},"doc":[],"name":"value","optional":[]}],"body":{"type":"block","code":[{"type":"native","platform":"javascript","content":"\r\n\t\t\treturn await this.tester(collection, field, value);\r\n\t\t","start":11605,"end":11684},{"type":"native","platform":"php","content":"\r\n\t\t\treturn $this->tester($collection, $field, $value);\r\n\t\t","start":11685,"end":11764}],"start":11600,"end":11768}},"output":{"name":"bool","template":[]},"flags":["override","trust"],"templates":[],"start":11446,"attribute":[{"key":"ForceAsync","value":true},{"key":"ForceAsync","value":true}],"doc":[],"end":11768},{"type":"method","name":"name","value":{"type":"method","parameters":[],"body":{"type":"block","code":[{"type":"return","expression":{"terms":[{"type":"literal","literalType":"string","value":"Function","start":11809,"end":11819,"appendix":[]}],"type":"expression","start":11809,"end":11818},"start":11802,"end":11819}],"start":11797,"end":11823}},"output":{"name":"string","template":[]},"flags":["override"],"templates":[],"start":11769,"doc":[],"end":11823}],"inherits":{"types":[{"name":"Websom.Restriction","reference":0,"start":11164,"end":11182,"template":false}]},"templates":[],"start":11109,"end":11826}},{"type": "class", "base": "class", "flags": ["header"], "templates": [], "route": "Websom.Transformer", "name": "Transformer", "inherits": ["everything"], "members": [{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "transform",  "output": {"name": "primitive", "template": []}, "arguments": [{"optional": "false", "name": "req", "type": {"name": "Websom.Request", "template": []}},{"optional": "false", "name": "doc", "type": {"name": "Websom.Adapters.Database.Document", "template": []}},{"optional": "false", "name": "field", "type": {"name": "string", "template": []}},{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": true, "isAsync": true}], "raw": {"type":"class","doc":[],"flags":["header"],"name":"Websom.Transformer","members":[{"type":"method","name":"@construct","value":{"type":"method","parameters":[],"body":{"type":"block","code":[],"start":11885,"end":11886}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":11867,"doc":[],"end":11886},{"type":"method","name":"transform","value":{"type":"method","parameters":[{"type":{"name":"Websom.Request","reference":0,"start":11927,"end":11941,"template":false},"doc":[],"name":"req","optional":[]},{"type":{"name":"Websom.Adapters.Database.Document","reference":0,"start":11947,"end":11980,"template":false},"doc":[],"name":"doc","optional":[]},{"type":{"name":"string","reference":0,"start":11986,"end":11992,"template":false},"doc":[],"name":"field","optional":[]},{"type":{"name":"primitive","reference":0,"start":12000,"end":12009,"template":false},"doc":[],"name":"value","optional":[]}],"body":{"type":"block","code":[],"start":12017,"end":12018}},"output":{"name":"primitive","template":[]},"flags":[],"templates":[],"start":11887,"attribute":[{"key":"ForceAsync","value":true}],"doc":[],"end":12018}],"templates":[],"start":11827,"end":12021}},{"type": "class", "base": "namespace", "flags": [], "templates": [], "route": "Websom.Mutators", "name": "Mutators", "inherits": ["everything"], "members": []},{"type": "class", "base": "class", "flags": ["header","header"], "templates": [], "route": "Websom.Mutators.Function", "name": "Function", "inherits": ["Websom.Mutator","everything"], "members": [{"type": "property", "binding": "bound", "name": "mutator",  "output": {"name": "function", "template": [{"name": "primitive", "template": []}, {"name": "Websom.Adapters.Database.Collection", "template": []}, {"name": "Websom.Request", "template": []}, {"name": "primitive", "template": []}]}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "func", "type": {"name": "function", "template": [{"name": "primitive", "template": []}, {"name": "Websom.Adapters.Database.Collection", "template": []}, {"name": "Websom.Request", "template": []}, {"name": "primitive", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "mutate", "flags": ["trust", "override"],  "output": {"name": "primitive", "template": []}, "arguments": [{"optional": "false", "name": "collection", "type": {"name": "Websom.Adapters.Database.Collection", "template": []}},{"optional": "false", "name": "req", "type": {"name": "Websom.Request", "template": []}},{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false}], "raw": {"type":"class","doc":[],"flags":["header","header"],"name":"Websom.Mutators.Function","members":[{"type":"property","doc":[],"output":{"name":"function","reference":0,"start":12313,"end":12396,"template":[{"name":"primitive","reference":0,"start":12314,"end":12323,"template":false},{"name":"Websom.Adapters.Database.Collection","reference":0,"start":12324,"end":12360,"template":false},{"name":"Websom.Request","reference":0,"start":12361,"end":12376,"template":false},{"name":"primitive","reference":0,"start":12377,"end":12387,"template":false}]},"name":"mutator","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":12407,"end":12411,"appendix":[]}],"type":"expression","start":12407,"end":12410}},"flags":[],"templates":[],"start":12313,"end":12411},{"type":"method","name":"@construct","value":{"type":"method","parameters":[{"type":{"name":"function","reference":0,"start":12433,"end":12516,"template":[{"name":"primitive","reference":0,"start":12434,"end":12443,"template":false},{"name":"Websom.Adapters.Database.Collection","reference":0,"start":12444,"end":12480,"template":false},{"name":"Websom.Request","reference":0,"start":12481,"end":12496,"template":false},{"name":"primitive","reference":0,"start":12497,"end":12507,"template":false}]},"doc":[],"name":"func","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.mutator","start":12528,"end":12540,"appendix":[]}},{"type":"constant","name":"func","start":12543,"end":12547,"appendix":[]}],"type":"expression","start":12528,"end":12547}],"start":12523,"end":12551}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":12412,"doc":[],"end":12551},{"type":"method","name":"mutate","value":{"type":"method","parameters":[{"type":{"name":"Websom.Adapters.Database.Collection","reference":0,"start":12604,"end":12639,"template":false},"doc":[],"name":"collection","optional":[]},{"type":{"name":"Websom.Request","reference":0,"start":12652,"end":12666,"template":false},"doc":[],"name":"req","optional":[]},{"type":{"name":"primitive","reference":0,"start":12672,"end":12681,"template":false},"doc":[],"name":"value","optional":[]}],"body":{"type":"block","code":[{"type":"native","platform":"javascript","content":"\r\n\t\t\treturn await this.mutator(collection, req, value);\r\n\t\t","start":12694,"end":12772},{"type":"native","platform":"php","content":"\r\n\t\t\treturn $this->mutator($collection, $req, $value);\r\n\t\t","start":12773,"end":12851}],"start":12689,"end":12855}},"output":{"name":"primitive","template":[]},"flags":["override","trust"],"templates":[],"start":12552,"attribute":[{"key":"ForceAsync","value":true},{"key":"ForceAsync","value":true}],"doc":[],"end":12855}],"inherits":{"types":[{"name":"Websom.Mutator","reference":0,"start":12294,"end":12308,"template":false}]},"templates":[],"start":12243,"end":12858}},{"type": "class", "base": "class", "flags": ["header"], "templates": [], "route": "Websom.Mutator", "name": "Mutator", "inherits": ["everything"], "members": [{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "mutate", "flags": ["trust"],  "output": {"name": "primitive", "template": []}, "arguments": [{"optional": "false", "name": "collection", "type": {"name": "Websom.Adapters.Database.Collection", "template": []}},{"optional": "false", "name": "req", "type": {"name": "Websom.Request", "template": []}},{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": true, "isAsync": true}], "raw": {"type":"class","doc":[],"flags":["header"],"name":"Websom.Mutator","members":[{"type":"method","name":"@construct","value":{"type":"method","parameters":[],"body":{"type":"block","code":[],"start":12108,"end":12109}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":12090,"doc":[],"end":12109},{"type":"method","name":"mutate","value":{"type":"method","parameters":[{"type":{"name":"Websom.Adapters.Database.Collection","reference":0,"start":12153,"end":12188,"template":false},"doc":[],"name":"collection","optional":[]},{"type":{"name":"Websom.Request","reference":0,"start":12201,"end":12215,"template":false},"doc":[],"name":"req","optional":[]},{"type":{"name":"primitive","reference":0,"start":12221,"end":12230,"template":false},"doc":[],"name":"value","optional":[]}],"body":{"type":"block","code":[],"start":12238,"end":12239}},"output":{"name":"primitive","template":[]},"flags":["trust"],"templates":[],"start":12110,"attribute":[{"key":"ForceAsync","value":true}],"doc":[],"end":12239}],"templates":[],"start":12054,"end":12242}},{"type": "class", "base": "class", "flags": ["header"], "templates": [], "route": "Websom.Authenticator", "name": "Authenticator", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "authenticate",  "output": {"name": "bool", "template": []}, "arguments": [{"optional": "false", "name": "req", "type": {"name": "Websom.Request", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "errorMessage",  "output": {"name": "string", "template": []}, "arguments": [{"optional": "false", "name": "req", "type": {"name": "Websom.Request", "template": []}}], "isImplicitAsync": false, "isAsync": false}], "raw": {"type":"class","doc":[],"flags":["header"],"name":"Websom.Authenticator","members":[{"type":"property","name":"server","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":12924,"end":12928,"appendix":[]}],"type":"expression","start":12924,"end":12927}},"output":{"name":"Websom.Server","template":[]},"flags":[],"templates":[],"start":12901,"doc":[],"end":12928},{"type":"method","name":"@construct","value":{"type":"method","parameters":[],"body":{"type":"block","code":[],"start":12952,"end":12953}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":12929,"doc":[],"end":12953},{"type":"method","name":"authenticate","value":{"type":"method","parameters":[{"type":{"name":"Websom.Request","reference":0,"start":12992,"end":13006,"template":false},"doc":[],"name":"req","optional":[]}],"body":{"type":"block","code":[],"start":13012,"end":13013}},"output":{"name":"bool","template":[]},"flags":[],"templates":[],"start":12954,"attribute":[{"key":"ForceAsync","value":true}],"doc":[],"end":13013},{"type":"method","name":"errorMessage","value":{"type":"method","parameters":[{"type":{"name":"Websom.Request","reference":0,"start":13039,"end":13053,"template":false},"doc":[],"name":"req","optional":[]}],"body":{"type":"block","code":[{"type":"return","expression":{"terms":[{"type":"literal","literalType":"string","value":"Authentication failed","start":13071,"end":13094,"appendix":[]}],"type":"expression","start":13071,"end":13093},"start":13064,"end":13094}],"start":13059,"end":13098}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":13014,"doc":[],"end":13098}],"templates":[],"start":12859,"end":13101}},{"type": "class", "base": "class", "flags": ["header"], "templates": [], "route": "Websom.PermissionAuthenticator", "name": "PermissionAuthenticator", "inherits": ["Websom.Authenticator","everything"], "members": [{"type": "property", "binding": "bound", "name": "permission",  "output": {"name": "Websom.Permission", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "permission", "type": {"name": "Websom.Permission", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "authenticate",  "output": {"name": "bool", "template": []}, "arguments": [{"optional": "false", "name": "req", "type": {"name": "Websom.Request", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "authenticate",  "output": {"name": "bool", "template": []}, "arguments": [{"optional": "false", "name": "req", "type": {"name": "Websom.Request", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "errorMessage",  "output": {"name": "string", "template": []}, "arguments": [{"optional": "false", "name": "req", "type": {"name": "Websom.Request", "template": []}}], "isImplicitAsync": false, "isAsync": false}], "raw": {"type":"class","doc":[],"flags":["header"],"name":"Websom.PermissionAuthenticator","members":[{"type":"property","name":"permission","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":13208,"end":13212,"appendix":[]}],"type":"expression","start":13208,"end":13211}},"output":{"name":"Websom.Permission","template":[]},"flags":[],"templates":[],"start":13177,"doc":[],"end":13212},{"type":"method","name":"@construct","value":{"type":"method","parameters":[{"type":{"name":"Websom.Permission","reference":0,"start":13234,"end":13251,"template":false},"doc":[],"name":"permission","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.permission","start":13269,"end":13284,"appendix":[]}},{"type":"constant","name":"permission","start":13287,"end":13297,"appendix":[]}],"type":"expression","start":13269,"end":13297}],"start":13264,"end":13301}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":13213,"doc":[],"end":13301},{"type":"method","name":"authenticate","value":{"type":"method","parameters":[{"type":{"name":"Websom.Request","reference":0,"start":13340,"end":13354,"template":false},"doc":[],"name":"req","optional":[]}],"body":{"type":"block","code":[{"type":"return","expression":{"terms":[{"type":"constant","name":"this.server.security.authenticateRequest","start":13372,"end":13434,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"req","start":13413,"end":13416,"appendix":[]}],"type":"expression","start":13413,"end":13415},{"terms":[{"type":"constant","name":"this.permission","start":13418,"end":13433,"appendix":[]}],"type":"expression","start":13417,"end":13432}]}]}],"type":"expression","start":13372,"end":13433},"start":13365,"end":13434}],"start":13360,"end":13438}},"output":{"name":"bool","template":[]},"flags":[],"templates":[],"start":13302,"attribute":[{"key":"ForceAsync","value":true}],"doc":[],"end":13438}],"inherits":{"types":[{"name":"Websom.Authenticator","reference":0,"start":13152,"end":13172,"template":false}]},"templates":[],"start":13102,"end":13441}},{"type": "class", "base": "class", "flags": ["header"], "templates": [], "route": "Websom.FunctionAuthenticator", "name": "FunctionAuthenticator", "inherits": ["Websom.Authenticator","everything"], "members": [{"type": "property", "binding": "bound", "name": "func",  "output": {"name": "function", "template": [{"name": "bool", "template": []}, {"name": "Websom.Request", "template": []}]}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "func", "type": {"name": "function", "template": [{"name": "bool", "template": []}, {"name": "Websom.Request", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "authenticate",  "output": {"name": "bool", "template": []}, "arguments": [{"optional": "false", "name": "req", "type": {"name": "Websom.Request", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "authenticate",  "output": {"name": "bool", "template": []}, "arguments": [{"optional": "false", "name": "req", "type": {"name": "Websom.Request", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "errorMessage",  "output": {"name": "string", "template": []}, "arguments": [{"optional": "false", "name": "req", "type": {"name": "Websom.Request", "template": []}}], "isImplicitAsync": false, "isAsync": false}], "raw": {"type":"class","doc":[],"flags":["header"],"name":"Websom.FunctionAuthenticator","members":[{"type":"property","doc":[],"output":{"name":"function","reference":0,"start":13515,"end":13545,"template":[{"name":"bool","reference":0,"start":13516,"end":13520,"template":false},{"name":"Websom.Request","reference":0,"start":13521,"end":13536,"template":false}]},"name":"func","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":13553,"end":13557,"appendix":[]}],"type":"expression","start":13553,"end":13556}},"flags":[],"templates":[],"start":13515,"end":13557},{"type":"method","name":"@construct","value":{"type":"method","parameters":[{"type":{"name":"function","reference":0,"start":13579,"end":13609,"template":[{"name":"bool","reference":0,"start":13580,"end":13584,"template":false},{"name":"Websom.Request","reference":0,"start":13585,"end":13600,"template":false}]},"doc":[],"name":"func","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.func","start":13621,"end":13630,"appendix":[]}},{"type":"constant","name":"func","start":13633,"end":13637,"appendix":[]}],"type":"expression","start":13621,"end":13637}],"start":13616,"end":13641}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":13558,"doc":[],"end":13641},{"type":"method","name":"authenticate","value":{"type":"method","parameters":[{"type":{"name":"Websom.Request","reference":0,"start":13680,"end":13694,"template":false},"doc":[],"name":"req","optional":[]}],"body":{"type":"block","code":[{"type":"return","expression":{"terms":[{"type":"constant","name":"this.func","start":13712,"end":13726,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"req","start":13722,"end":13725,"appendix":[]}],"type":"expression","start":13722,"end":13724}]}]}],"type":"expression","start":13712,"end":13725},"start":13705,"end":13726}],"start":13700,"end":13730}},"output":{"name":"bool","template":[]},"flags":[],"templates":[],"start":13642,"attribute":[{"key":"ForceAsync","value":true}],"doc":[],"end":13730}],"inherits":{"types":[{"name":"Websom.Authenticator","reference":0,"start":13490,"end":13510,"template":false}]},"templates":[],"start":13442,"end":13733}},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.CollectionInterfaceRead", "name": "CollectionInterfaceRead", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "transformers",  "output": {"name": "array", "template": [{"name": "Websom.Transformer", "template": []}]}},{"type": "property", "binding": "bound", "name": "field",  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.CollectionInterfaceWrite", "name": "CollectionInterfaceWrite", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "restrictions",  "output": {"name": "array", "template": [{"name": "Websom.Restriction", "template": []}]}},{"type": "property", "binding": "bound", "name": "mutators",  "output": {"name": "array", "template": [{"name": "Websom.Mutator", "template": []}]}},{"type": "property", "binding": "bound", "name": "field",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "defaultValue",  "output": {"name": "primitive", "template": []}},{"type": "property", "binding": "bound", "name": "type",  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "string", "template": []}},{"optional": "false", "name": "defaultValue", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "exposeToClient",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}, "arguments": [], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.CollectionInterfaceWriteSet", "name": "CollectionInterfaceWriteSet", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "field",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "value",  "output": {"name": "primitive", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "string", "template": []}},{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.CollectionInterfaceWriteSetComputed", "name": "CollectionInterfaceWriteSetComputed", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "field",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "computer",  "output": {"name": "function", "template": [{"name": "primitive", "template": []}, {"name": "Websom.Request", "template": []}]}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "string", "template": []}},{"optional": "false", "name": "func", "type": {"name": "function", "template": [{"name": "primitive", "template": []}, {"name": "Websom.Request", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "compute",  "output": {"name": "primitive", "template": []}, "arguments": [{"optional": "false", "name": "req", "type": {"name": "Websom.Request", "template": []}}], "isImplicitAsync": true, "isAsync": true}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.CollectionInterfaceFieldSet", "name": "CollectionInterfaceFieldSet", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "name",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "operator",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "value",  "output": {"name": "primitive", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "name", "type": {"name": "string", "template": []}},{"optional": "false", "name": "operator", "type": {"name": "string", "template": []}},{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.CollectionInterfaceFieldSetComputed", "name": "CollectionInterfaceFieldSetComputed", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "name",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "operator",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "handler",  "output": {"name": "function", "template": [{"name": "primitive", "template": []}, {"name": "Websom.Request", "template": []}]}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "name", "type": {"name": "string", "template": []}},{"optional": "false", "name": "operator", "type": {"name": "string", "template": []}},{"optional": "false", "name": "func", "type": {"name": "function", "template": [{"name": "primitive", "template": []}, {"name": "Websom.Request", "template": []}]}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.CollectionInterfaceFilter", "name": "CollectionInterfaceFilter", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "fields",  "output": {"name": "array", "template": [{"name": "Websom.CollectionInterfaceFieldSet", "template": []}]}},{"type": "property", "binding": "bound", "name": "computed",  "output": {"name": "array", "template": [{"name": "Websom.CollectionInterfaceFieldSetComputed", "template": []}]}},{"type": "property", "binding": "bound", "name": "forces",  "output": {"name": "array", "template": [{"name": "Websom.CollectionInterfaceFieldSet", "template": []}]}},{"type": "property", "binding": "bound", "name": "orders",  "output": {"name": "array", "template": [{"name": "Websom.CollectionInterfaceFieldSet", "template": []}]}},{"type": "property", "binding": "bound", "name": "name",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "limits",  "output": {"name": "array", "template": [{"name": "int", "template": []}]}},{"type": "property", "binding": "bound", "name": "paginate",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "handler",  "output": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.Request", "template": []}, {"name": "Websom.Adapters.Database.SelectQuery", "template": []}]}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "name", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Config", "name": "Config", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "data",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "https",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "name",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "brandColor",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "url",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "openInBrowser",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "hasManifest",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "manifestPath",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "root",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "sslVerifyPeer",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "bucket",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "bucketFile",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "javascriptOutput",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "cssOutput",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "resources",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "restrictedResources",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "absolute",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "defaultTheme",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "cache",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "dev",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "verbose",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "headless",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "devSendMail",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "forceSsr",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "clientResources",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "databaseFile",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "devBuckets",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "configOverrides",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "jsBundle",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "gzip",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "refreshViews",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "deploys",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "legacy",  "output": {"name": "bool", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "fixed", "name": "load",  "output": {"name": "Websom.Config", "template": []}, "arguments": [{"optional": "false", "name": "path", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "namespace", "flags": [], "templates": [], "route": "Websom.Containers", "name": "Containers", "inherits": ["everything"], "members": []},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Containers.Table", "name": "Table", "inherits": ["Websom.Container","everything"], "members": [{"type": "property", "binding": "bound", "name": "load",  "output": {"name": "function", "template": [{"name": "Websom.Data", "template": []}, {"name": "map", "template": [{"name": "primitive", "template": []}]}]}},{"type": "property", "binding": "bound", "name": "create",  "output": {"name": "function", "template": [{"name": "Websom.Data", "template": []}]}},{"type": "property", "binding": "bound", "name": "info",  "output": {"name": "function", "template": [{"name": "Websom.DataInfo", "template": []}]}},{"type": "property", "binding": "bound", "name": "selectHook",  "output": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "array", "template": [{"name": "map", "template": [{"name": "primitive", "template": []}]}]}]}},{"type": "property", "binding": "bound", "name": "subParent",  "output": {"name": "Websom.Data", "template": []}},{"type": "property", "binding": "bound", "name": "table",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "tableEntityName",  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "tableName", "type": {"name": "string", "template": []}},{"optional": "false", "name": "create", "type": {"name": "function", "template": [{"name": "Websom.Data", "template": []}]}},{"optional": "false", "name": "load", "type": {"name": "function", "template": [{"name": "Websom.Data", "template": []}, {"name": "map", "template": [{"name": "primitive", "template": []}]}]}},{"optional": "false", "name": "info", "type": {"name": "function", "template": [{"name": "Websom.DataInfo", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}},{"optional": "false", "name": "tableName", "type": {"name": "string", "template": []}},{"optional": "false", "name": "info", "type": {"name": "Websom.DataInfo", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "realize",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "db", "type": {"name": "Websom.Database", "template": []}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "string", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "fixed", "name": "loadArray", "flags": ["trust"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "query", "type": {"name": "Websom.DatabaseSelect", "template": []}},{"optional": "false", "name": "type", "type": {"name": "string", "template": []}},{"optional": "false", "name": "callback", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "array", "template": [{"name": "Websom.Data", "template": []}]}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "insert", "flags": ["trust", "override"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "data", "type": {"name": "Websom.Data", "template": []}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "string", "template": []}, {"name": "primitive", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "setupSubSorts",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}, "arguments": [{"optional": "false", "name": "data", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "handleInlineSubSelects", "flags": ["trust"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "opts", "type": {"name": "Websom.InterfaceOptions", "template": []}},{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "parent", "type": {"name": "Websom.Data", "template": []}},{"optional": "false", "name": "docData", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"optional": "false", "name": "subFields", "type": {"name": "array", "template": [{"name": "Websom.FieldInfo", "template": []}]}},{"optional": "false", "name": "loaded", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "map", "template": [{"name": "primitive", "template": []}]}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "handleSubSelect",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "opts", "type": {"name": "Websom.InterfaceOptions", "template": []}},{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "ctx", "type": {"name": "Websom.CallContext", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "handleSubInsert",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "opts", "type": {"name": "Websom.InterfaceOptions", "template": []}},{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "values", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"optional": "false", "name": "message", "type": {"name": "Websom.ClientMessage", "template": []}},{"optional": "false", "name": "fieldInfo", "type": {"name": "Websom.FieldInfo", "template": []}},{"optional": "false", "name": "parentData", "type": {"name": "Websom.Data", "template": []}},{"optional": "false", "name": "callback", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "primitive", "template": []}]}},{"optional": "false", "name": "ctx", "type": {"name": "Websom.CallContext", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "interfaceSelect", "flags": ["override"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "opts", "type": {"name": "Websom.InterfaceOptions", "template": []}},{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "ctx", "type": {"name": "Websom.CallContext", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "insertFromInterface", "flags": ["trust"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "opts", "type": {"name": "Websom.InterfaceOptions", "template": []}},{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "values", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"optional": "false", "name": "message", "type": {"name": "Websom.ClientMessage", "template": []}},{"optional": "false", "name": "fieldInfo", "type": {"name": "Websom.FieldInfo", "template": []}},{"optional": "false", "name": "parentData", "type": {"name": "Websom.Data", "template": []}},{"optional": "false", "name": "ctx", "type": {"name": "Websom.CallContext", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "insertFromInterfaceCallback", "flags": ["trust"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "opts", "type": {"name": "Websom.InterfaceOptions", "template": []}},{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "values", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"optional": "false", "name": "message", "type": {"name": "Websom.ClientMessage", "template": []}},{"optional": "false", "name": "fieldInfo", "type": {"name": "Websom.FieldInfo", "template": []}},{"optional": "false", "name": "parentData", "type": {"name": "Websom.Data", "template": []}},{"optional": "false", "name": "callback", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "primitive", "template": []}]}},{"optional": "false", "name": "ctx", "type": {"name": "Websom.CallContext", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "getPublicId",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "found", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "string", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "insertAutoFields", "flags": ["trust"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "key", "type": {"name": "primitive", "template": []}},{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "data", "type": {"name": "Websom.Data", "template": []}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "updateFromInterface", "flags": ["trust"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "opts", "type": {"name": "Websom.InterfaceOptions", "template": []}},{"optional": "false", "name": "update", "type": {"name": "Websom.DatabaseSelect", "template": []}},{"optional": "false", "name": "obj", "type": {"name": "Websom.Data", "template": []}},{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "values", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"optional": "false", "name": "message", "type": {"name": "Websom.ClientMessage", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "from",  "output": {"name": "Websom.DatabaseSelect", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "into",  "output": {"name": "Websom.DatabaseInsert", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "loadFromId", "flags": ["override"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "id", "type": {"name": "uint64", "template": []}},{"optional": "false", "name": "callback", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.Data", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "loadFromPublicId", "flags": ["override"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "id", "type": {"name": "string", "template": []}},{"optional": "false", "name": "callback", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.Data", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "loadFromSelect", "flags": ["override"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "select", "type": {"name": "Websom.DatabaseSelect", "template": []}},{"optional": "false", "name": "callback", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "array", "template": [{"name": "Websom.Data", "template": []}]}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "expose", "flags": ["override"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "req", "type": {"name": "Websom.Request", "template": []}},{"optional": "false", "name": "datas", "type": {"name": "array", "template": [{"name": "Websom.Data", "template": []}]}},{"optional": "false", "name": "callback", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "array", "template": [{"name": "map", "template": [{"name": "primitive", "template": []}]}]}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "property", "binding": "bound", "name": "name",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "dataInfo",  "output": {"name": "Websom.DataInfo", "template": []}},{"type": "property", "binding": "bound", "name": "parentContainer",  "output": {"name": "Websom.Container", "template": []}},{"type": "method", "binding": "bound", "name": "checkRestrictions",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "opts", "type": {"name": "Websom.InterfaceOptions", "template": []}},{"optional": "false", "name": "inp", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "mode", "type": {"name": "string", "template": []}},{"optional": "false", "name": "field", "type": {"name": "Websom.FieldInfo", "template": []}},{"optional": "false", "name": "callback", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "bool", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "interfaceInsert",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "opts", "type": {"name": "Websom.InterfaceOptions", "template": []}},{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "interfaceSend", "flags": ["trust"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "opts", "type": {"name": "Websom.InterfaceOptions", "template": []}},{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "interfaceUpdate", "flags": ["trust"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "opts", "type": {"name": "Websom.InterfaceOptions", "template": []}},{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "property", "binding": "bound", "name": "interfaces",  "output": {"name": "array", "template": [{"name": "Websom.InterfaceOptions", "template": []}]}},{"type": "method", "binding": "bound", "name": "interface", "flags": ["force"],  "output": {"name": "Websom.InterfaceChain", "template": []}, "arguments": [{"optional": "false", "name": "route", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "interface", "flags": ["force"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "opts", "type": {"name": "Websom.InterfaceOptions", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "getInterface",  "output": {"name": "Websom.InterfaceOptions", "template": []}, "arguments": [{"optional": "false", "name": "route", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "getDataFromRoute",  "output": {"name": "Websom.Data", "template": []}, "arguments": [{"optional": "false", "name": "route", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "registerSubContainer",  "output": {"name": "Websom.InputHandler", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "Websom.FieldInfo", "template": []}},{"optional": "false", "name": "routeInfo", "type": {"name": "Websom.DataInfo", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "register",  "output": {"name": "Websom.InputHandler", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "checkAuth",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "opts", "type": {"name": "Websom.InterfaceOptions", "template": []}},{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "type", "type": {"name": "string", "template": []}},{"optional": "false", "name": "callback", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "bool", "template": []}]}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Container", "name": "Container", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "property", "binding": "bound", "name": "name",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "dataInfo",  "output": {"name": "Websom.DataInfo", "template": []}},{"type": "property", "binding": "bound", "name": "parentContainer",  "output": {"name": "Websom.Container", "template": []}},{"type": "method", "binding": "bound", "name": "realize",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "db", "type": {"name": "Websom.Database", "template": []}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "string", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "insert",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "data", "type": {"name": "Websom.Data", "template": []}},{"optional": "false", "name": "inserted", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "string", "template": []}, {"name": "primitive", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "insertFromInterface",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "opts", "type": {"name": "Websom.InterfaceOptions", "template": []}},{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "values", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"optional": "false", "name": "message", "type": {"name": "Websom.ClientMessage", "template": []}},{"optional": "false", "name": "fieldInfo", "type": {"name": "Websom.FieldInfo", "template": []}},{"optional": "false", "name": "parentData", "type": {"name": "Websom.Data", "template": []}},{"optional": "false", "name": "ctx", "type": {"name": "Websom.CallContext", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "updateFromInterface",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "opts", "type": {"name": "Websom.InterfaceOptions", "template": []}},{"optional": "false", "name": "update", "type": {"name": "Websom.DatabaseSelect", "template": []}},{"optional": "false", "name": "obj", "type": {"name": "Websom.Data", "template": []}},{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "values", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"optional": "false", "name": "message", "type": {"name": "Websom.ClientMessage", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "checkRestrictions",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "opts", "type": {"name": "Websom.InterfaceOptions", "template": []}},{"optional": "false", "name": "inp", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "mode", "type": {"name": "string", "template": []}},{"optional": "false", "name": "field", "type": {"name": "Websom.FieldInfo", "template": []}},{"optional": "false", "name": "callback", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "bool", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "interfaceInsert",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "opts", "type": {"name": "Websom.InterfaceOptions", "template": []}},{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "interfaceSelect",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "opts", "type": {"name": "Websom.InterfaceOptions", "template": []}},{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "ctx", "type": {"name": "Websom.CallContext", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "interfaceSend", "flags": ["trust"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "opts", "type": {"name": "Websom.InterfaceOptions", "template": []}},{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "interfaceUpdate", "flags": ["trust"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "opts", "type": {"name": "Websom.InterfaceOptions", "template": []}},{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "property", "binding": "bound", "name": "interfaces",  "output": {"name": "array", "template": [{"name": "Websom.InterfaceOptions", "template": []}]}},{"type": "method", "binding": "bound", "name": "interface", "flags": ["force"],  "output": {"name": "Websom.InterfaceChain", "template": []}, "arguments": [{"optional": "false", "name": "route", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "interface", "flags": ["force"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "opts", "type": {"name": "Websom.InterfaceOptions", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "getInterface",  "output": {"name": "Websom.InterfaceOptions", "template": []}, "arguments": [{"optional": "false", "name": "route", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "getDataFromRoute",  "output": {"name": "Websom.Data", "template": []}, "arguments": [{"optional": "false", "name": "route", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "registerSubContainer",  "output": {"name": "Websom.InputHandler", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "Websom.FieldInfo", "template": []}},{"optional": "false", "name": "routeInfo", "type": {"name": "Websom.DataInfo", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "register",  "output": {"name": "Websom.InputHandler", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "checkAuth",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "opts", "type": {"name": "Websom.InterfaceOptions", "template": []}},{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "type", "type": {"name": "string", "template": []}},{"optional": "false", "name": "callback", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "bool", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "loadFromSelect",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "select", "type": {"name": "Websom.DatabaseSelect", "template": []}},{"optional": "false", "name": "callback", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "array", "template": [{"name": "Websom.Data", "template": []}]}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "expose",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "req", "type": {"name": "Websom.Request", "template": []}},{"optional": "false", "name": "datas", "type": {"name": "array", "template": [{"name": "Websom.Data", "template": []}]}},{"optional": "false", "name": "callback", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "array", "template": [{"name": "map", "template": [{"name": "primitive", "template": []}]}]}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "loadFromId",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "id", "type": {"name": "uint64", "template": []}},{"optional": "false", "name": "callback", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.Data", "template": []}]}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.InterfaceOptions", "name": "InterfaceOptions", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "route",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "canInsert",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "restricts",  "output": {"name": "array", "template": [{"name": "Websom.InputRestriction", "template": []}]}},{"type": "property", "binding": "bound", "name": "subs",  "output": {"name": "map", "template": [{"name": "Websom.InterfaceOptions", "template": []}]}},{"type": "property", "binding": "bound", "name": "canInterface",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "canSelect",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "hasPublicIdSelect",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "canLoadMore",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "multipart",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "canUpdate",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "mustLogin",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "mustOwnUpdate",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "mustOwnSelect",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "mustOwnInsert",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "autoPublicId",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "autoTimestamp",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "autoOwn",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "hasAuth",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "captchaSelect",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "captchaInsert",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "captchaUpdate",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "countSelect",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "countInsert",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "countUpdate",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "permission",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "selectPermission",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "updatePermission",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "insertPermission",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "uniqueKeys",  "output": {"name": "array", "template": [{"name": "string", "template": []}]}},{"type": "property", "binding": "bound", "name": "group",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "baseSuccess",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "baseError",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "maxSelect",  "output": {"name": "int", "template": []}},{"type": "property", "binding": "bound", "name": "selectExpose",  "output": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "map", "template": [{"name": "primitive", "template": []}]}, {"name": "Websom.Data", "template": []}, {"name": "function", "template": [{"name": "void", "template": []}, {"name": "map", "template": [{"name": "primitive", "template": []}]}]}]}},{"type": "property", "binding": "bound", "name": "overrideInsert",  "output": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.Input", "template": []}]}},{"type": "property", "binding": "bound", "name": "overrideSelect",  "output": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.Input", "template": []}]}},{"type": "property", "binding": "bound", "name": "overrideUpdate",  "output": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.Input", "template": []}]}},{"type": "property", "binding": "bound", "name": "onInsert",  "output": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.Input", "template": []}, {"name": "Websom.DatabaseInsert", "template": []}, {"name": "function", "template": [{"name": "void", "template": []}, {"name": "string", "template": []}]}]}},{"type": "property", "binding": "bound", "name": "successInsert",  "output": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.Input", "template": []}, {"name": "Websom.Data", "template": []}, {"name": "Websom.ClientMessage", "template": []}, {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.ClientMessage", "template": []}]}]}},{"type": "property", "binding": "bound", "name": "onSelect",  "output": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.Input", "template": []}, {"name": "Websom.DatabaseSelect", "template": []}, {"name": "function", "template": [{"name": "void", "template": []}, {"name": "string", "template": []}]}]}},{"type": "property", "binding": "bound", "name": "onUpdate",  "output": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.Input", "template": []}, {"name": "Websom.DatabaseSelect", "template": []}, {"name": "function", "template": [{"name": "void", "template": []}, {"name": "string", "template": []}]}]}},{"type": "property", "binding": "bound", "name": "successUpdate",  "output": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.Input", "template": []}, {"name": "Websom.Data", "template": []}, {"name": "Websom.ClientMessage", "template": []}, {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.ClientMessage", "template": []}]}]}},{"type": "property", "binding": "bound", "name": "onlyUpdateIfOwner",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "controls",  "output": {"name": "array", "template": [{"name": "Websom.Control", "template": []}]}},{"type": "property", "binding": "bound", "name": "insertControls",  "output": {"name": "array", "template": [{"name": "Websom.Control", "template": []}]}},{"type": "property", "binding": "bound", "name": "selectControls",  "output": {"name": "array", "template": [{"name": "Websom.Control", "template": []}]}},{"type": "property", "binding": "bound", "name": "updateControls",  "output": {"name": "array", "template": [{"name": "Websom.Control", "template": []}]}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "route", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "expose",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "func", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "map", "template": [{"name": "primitive", "template": []}]}, {"name": "Websom.Data", "template": []}, {"name": "function", "template": [{"name": "void", "template": []}, {"name": "map", "template": [{"name": "primitive", "template": []}]}]}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "spawnControl",  "output": {"name": "Websom.FieldControl", "template": []}, "arguments": [{"optional": "false", "name": "cls", "type": {"name": "string", "template": []}},{"optional": "false", "name": "field", "type": {"name": "Websom.FieldInfo", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "authPermission",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "perm", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "autoControl",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "info", "type": {"name": "Websom.DataInfo", "template": []}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.InputRestriction", "name": "InputRestriction", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "mode",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "simple",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "field",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "key",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "value",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "callback",  "output": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "function", "template": [{"name": "void", "template": []}, {"name": "bool", "template": []}]}]}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "mode", "type": {"name": "string", "template": []}},{"optional": "false", "name": "field", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": ["header"], "templates": [], "route": "Websom.Control", "name": "Control", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "property", "binding": "bound", "name": "container",  "output": {"name": "Websom.Container", "template": []}},{"type": "method", "binding": "bound", "name": "validate",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.InputValidation", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "fill",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "values", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "filter",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "select", "type": {"name": "Websom.DatabaseSelect", "template": []}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.InputValidation", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "insert",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "data", "type": {"name": "Websom.Data", "template": []}},{"optional": "false", "name": "key", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "update",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "data", "type": {"name": "Websom.Data", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "message",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "name", "type": {"name": "string", "template": []}},{"optional": "false", "name": "data", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"optional": "false", "name": "send", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "map", "template": [{"name": "primitive", "template": []}]}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "use",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "inputChain", "type": {"name": "Websom.InputChain", "template": []}}], "isImplicitAsync": false, "isAsync": false}], "raw": {"type":"class","doc":[],"flags":["header"],"name":"Websom.Control","members":[{"type":"property","name":"server","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":20496,"end":20500,"appendix":[]}],"type":"expression","start":20496,"end":20499}},"output":{"name":"Websom.Server","template":[]},"flags":[],"templates":[],"start":20416,"doc":["@note server is only available if message is called."],"end":20500},{"type":"property","name":"container","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":20595,"end":20599,"appendix":[]}],"type":"expression","start":20595,"end":20598}},"output":{"name":"Websom.Container","template":[]},"flags":[],"templates":[],"start":20501,"doc":["@note container is only available if message is called."],"end":20599},{"type":"method","name":"validate","value":{"type":"method","parameters":[{"type":{"name":"Websom.Input","reference":0,"start":20676,"end":20688,"template":false},"doc":[],"name":"input","optional":[]},{"type":{"name":"function","reference":0,"start":20696,"end":20734,"template":[{"name":"void","reference":0,"start":20697,"end":20701,"template":false},{"name":"Websom.InputValidation","reference":0,"start":20702,"end":20725,"template":false}]},"doc":[],"name":"done","optional":[]}],"body":{"type":"interface"}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":20600,"doc":["@warn validate is only called on insert and update"],"end":20740},{"type":"method","name":"fill","value":{"type":"method","parameters":[{"type":{"name":"Websom.Input","reference":0,"start":20756,"end":20768,"template":false},"doc":[],"name":"input","optional":[]},{"type":{"name":"map","reference":0,"start":20776,"end":20779,"template":false},"doc":[],"name":"values","optional":[]},{"type":{"name":"function","reference":0,"start":20788,"end":20802,"template":[{"name":"void","reference":0,"start":20789,"end":20793,"template":false}]},"doc":[],"name":"done","optional":[]}],"body":{"type":"interface"}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":20741,"doc":[],"end":20808},{"type":"method","name":"filter","value":{"type":"method","parameters":[{"type":{"name":"Websom.Input","reference":0,"start":20826,"end":20838,"template":false},"doc":[],"name":"input","optional":[]},{"type":{"name":"Websom.DatabaseSelect","reference":0,"start":20846,"end":20867,"template":false},"doc":[],"name":"select","optional":[]},{"type":{"name":"function","reference":0,"start":20876,"end":20914,"template":[{"name":"void","reference":0,"start":20877,"end":20881,"template":false},{"name":"Websom.InputValidation","reference":0,"start":20882,"end":20905,"template":false}]},"doc":[],"name":"done","optional":[]}],"body":{"type":"interface"}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":20809,"doc":[],"end":20920},{"type":"method","name":"insert","value":{"type":"method","parameters":[{"type":{"name":"Websom.Input","reference":0,"start":20993,"end":21005,"template":false},"doc":[],"name":"input","optional":[]},{"type":{"name":"Websom.Data","reference":0,"start":21013,"end":21024,"template":false},"doc":[],"name":"data","optional":[]},{"type":{"name":"primitive","reference":0,"start":21031,"end":21040,"template":false},"doc":[],"name":"key","optional":[]}],"body":{"type":"block","code":[],"start":21046,"end":21047}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":20921,"doc":["Called when a Websom.Data is successfully inserted"],"end":21047},{"type":"method","name":"update","value":{"type":"method","parameters":[{"type":{"name":"Websom.Input","reference":0,"start":21119,"end":21131,"template":false},"doc":[],"name":"input","optional":[]},{"type":{"name":"Websom.Data","reference":0,"start":21139,"end":21150,"template":false},"doc":[],"name":"data","optional":[]}],"body":{"type":"block","code":[],"start":21157,"end":21158}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":21048,"doc":["Called when a Websom.Data is successfully updated"],"end":21158},{"type":"method","name":"message","value":{"type":"method","parameters":[{"type":{"name":"Websom.Input","reference":0,"start":21368,"end":21380,"template":false},"doc":["Current client context sending this message"],"name":"input","optional":[]},{"type":{"name":"string","reference":0,"start":21439,"end":21445,"template":false},"doc":["Name of message"],"name":"name","optional":[]},{"type":{"name":"map","reference":0,"start":21475,"end":21478,"template":false},"doc":["Raw data sent by client"],"name":"data","optional":[]},{"type":{"name":"function","reference":0,"start":21516,"end":21535,"template":[{"name":"void","reference":0,"start":21517,"end":21521,"template":false},{"name":"map","reference":0,"start":21522,"end":21526,"template":false}]},"doc":["Sends the data to the client"],"name":"send","optional":[]}],"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"send","start":21581,"end":21591,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"null","start":21586,"end":21590,"appendix":[]}],"type":"expression","start":21586,"end":21589}]}]}],"type":"expression","start":21581,"end":21591}],"start":21573,"end":21598}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":21159,"doc":["This is called on interface controls when an interface message is not routed to a Websom.Data entity.\r\n\t\r\n\t@note If this message name was not handled by this control pass null into send."],"end":21598},{"type":"method","name":"use","value":{"type":"method","parameters":[{"type":{"name":"Websom.InputChain","reference":0,"start":21764,"end":21781,"template":false},"doc":[],"name":"inputChain","optional":[]}],"body":{"type":"block","code":[],"start":21794,"end":21802}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":21599,"doc":["If this control is passed into Websom.InputChain.use the control is expected to modify the chain and set up its own success and/or error listener."],"end":21802}],"templates":[],"start":20380,"end":21805}},{"type": "class", "base": "class", "flags": ["header","header"], "templates": [], "route": "Websom.MessageControl", "name": "MessageControl", "inherits": ["Websom.Control","everything"], "members": [{"type": "method", "binding": "bound", "name": "validate",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.InputValidation", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "fill",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "values", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "filter",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "select", "type": {"name": "Websom.DatabaseSelect", "template": []}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.InputValidation", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "property", "binding": "bound", "name": "container",  "output": {"name": "Websom.Container", "template": []}},{"type": "method", "binding": "bound", "name": "insert",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "data", "type": {"name": "Websom.Data", "template": []}},{"optional": "false", "name": "key", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "update",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "data", "type": {"name": "Websom.Data", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "message",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "name", "type": {"name": "string", "template": []}},{"optional": "false", "name": "data", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"optional": "false", "name": "send", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "map", "template": [{"name": "primitive", "template": []}]}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "use",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "inputChain", "type": {"name": "Websom.InputChain", "template": []}}], "isImplicitAsync": false, "isAsync": false}], "raw": {"type":"class","doc":[],"flags":["header","header"],"name":"Websom.MessageControl","members":[{"type":"method","name":"validate","value":{"type":"method","parameters":[{"type":{"name":"Websom.Input","reference":0,"start":21887,"end":21899,"template":false},"doc":[],"name":"input","optional":[]},{"type":{"name":"function","reference":0,"start":21907,"end":21945,"template":[{"name":"void","reference":0,"start":21908,"end":21912,"template":false},{"name":"Websom.InputValidation","reference":0,"start":21913,"end":21936,"template":false}]},"doc":[],"name":"done","optional":[]}],"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"done","start":21957,"end":21967,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"null","start":21962,"end":21966,"appendix":[]}],"type":"expression","start":21962,"end":21965}]}]}],"type":"expression","start":21957,"end":21967}],"start":21952,"end":21971}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":21873,"doc":[],"end":21971},{"type":"method","name":"fill","value":{"type":"method","parameters":[{"type":{"name":"Websom.Input","reference":0,"start":21987,"end":21999,"template":false},"doc":[],"name":"input","optional":[]},{"type":{"name":"map","reference":0,"start":22007,"end":22010,"template":false},"doc":[],"name":"values","optional":[]},{"type":{"name":"function","reference":0,"start":22019,"end":22033,"template":[{"name":"void","reference":0,"start":22020,"end":22024,"template":false}]},"doc":[],"name":"done","optional":[]}],"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"done","start":22045,"end":22051,"appendix":[{"type":"call","expression":[]}]}],"type":"expression","start":22045,"end":22051}],"start":22040,"end":22055}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":21972,"doc":[],"end":22055},{"type":"method","name":"filter","value":{"type":"method","parameters":[{"type":{"name":"Websom.Input","reference":0,"start":22073,"end":22085,"template":false},"doc":[],"name":"input","optional":[]},{"type":{"name":"Websom.DatabaseSelect","reference":0,"start":22093,"end":22114,"template":false},"doc":[],"name":"select","optional":[]},{"type":{"name":"function","reference":0,"start":22123,"end":22161,"template":[{"name":"void","reference":0,"start":22124,"end":22128,"template":false},{"name":"Websom.InputValidation","reference":0,"start":22129,"end":22152,"template":false}]},"doc":[],"name":"done","optional":[]}],"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"done","start":22173,"end":22183,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"null","start":22178,"end":22182,"appendix":[]}],"type":"expression","start":22178,"end":22181}]}]}],"type":"expression","start":22173,"end":22183}],"start":22168,"end":22187}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":22056,"doc":[],"end":22187}],"inherits":{"types":[{"name":"Websom.Control","reference":0,"start":21854,"end":21868,"template":false}]},"templates":[],"start":21806,"end":22190}},{"type": "class", "base": "class", "flags": ["header","header"], "templates": [], "route": "Websom.FieldControl", "name": "FieldControl", "inherits": ["Websom.Control","everything"], "members": [{"type": "property", "binding": "bound", "name": "required",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "name",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "field",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "logic",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "fieldInfo",  "output": {"name": "Websom.FieldInfo", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "string", "template": []}},{"optional": "false", "name": "logic", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "name", "type": {"name": "string", "template": []}},{"optional": "false", "name": "field", "type": {"name": "string", "template": []}},{"optional": "false", "name": "fieldInfo", "type": {"name": "Websom.FieldInfo", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "validate",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.InputValidation", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "fill",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "values", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "filter",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "select", "type": {"name": "Websom.DatabaseSelect", "template": []}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.InputValidation", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "validateField",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.InputValidation", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "fillField",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}},{"optional": "false", "name": "values", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "filterField",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}},{"optional": "false", "name": "select", "type": {"name": "Websom.DatabaseSelect", "template": []}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.InputValidation", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "property", "binding": "bound", "name": "container",  "output": {"name": "Websom.Container", "template": []}},{"type": "method", "binding": "bound", "name": "insert",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "data", "type": {"name": "Websom.Data", "template": []}},{"optional": "false", "name": "key", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "update",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "data", "type": {"name": "Websom.Data", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "message",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "name", "type": {"name": "string", "template": []}},{"optional": "false", "name": "data", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"optional": "false", "name": "send", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "map", "template": [{"name": "primitive", "template": []}]}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "use",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "inputChain", "type": {"name": "Websom.InputChain", "template": []}}], "isImplicitAsync": false, "isAsync": false}], "raw": {"type":"class","doc":[],"flags":["header","header"],"name":"Websom.FieldControl","members":[{"type":"property","name":"required","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"boolean","value":false,"start":22272,"end":22277,"appendix":[]}],"type":"expression","start":22272,"end":22276}},"output":{"name":"bool","template":[]},"flags":[],"templates":[],"start":22256,"doc":[],"end":22277},{"type":"property","name":"name","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":22295,"end":22297,"appendix":[]}],"type":"expression","start":22295,"end":22296}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":22278,"doc":[],"end":22297},{"type":"property","name":"field","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":22316,"end":22318,"appendix":[]}],"type":"expression","start":22316,"end":22317}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":22298,"doc":[],"end":22318},{"type":"property","name":"logic","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"or","start":22337,"end":22341,"appendix":[]}],"type":"expression","start":22337,"end":22340}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":22319,"doc":[],"end":22341},{"type":"property","name":"fieldInfo","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":22374,"end":22378,"appendix":[]}],"type":"expression","start":22374,"end":22377}},"output":{"name":"Websom.FieldInfo","template":[]},"flags":[],"templates":[],"start":22342,"doc":[],"end":22378},{"type":"method","name":"@construct","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":22401,"end":22407,"template":false},"doc":[],"name":"field","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.name","start":22420,"end":22429,"appendix":[]}},{"type":"constant","name":"field","start":22432,"end":22437,"appendix":[]}],"type":"expression","start":22420,"end":22437},{"terms":[{"operator":"=","term":{"type":"constant","name":"this.field","start":22442,"end":22452,"appendix":[]}},{"type":"constant","name":"field","start":22455,"end":22460,"appendix":[]}],"type":"expression","start":22438,"end":22460}],"start":22415,"end":22464}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":22379,"doc":[],"end":22464},{"type":"method","name":"@construct","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":22486,"end":22492,"template":false},"doc":[],"name":"field","optional":[]},{"type":{"name":"string","reference":0,"start":22500,"end":22506,"template":false},"doc":[],"name":"logic","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.name","start":22519,"end":22528,"appendix":[]}},{"type":"constant","name":"field","start":22531,"end":22536,"appendix":[]}],"type":"expression","start":22519,"end":22536},{"terms":[{"operator":"=","term":{"type":"constant","name":"this.field","start":22541,"end":22551,"appendix":[]}},{"type":"constant","name":"field","start":22554,"end":22559,"appendix":[]}],"type":"expression","start":22537,"end":22559},{"terms":[{"operator":"=","term":{"type":"constant","name":"this.logic","start":22564,"end":22574,"appendix":[]}},{"type":"constant","name":"logic","start":22577,"end":22582,"appendix":[]}],"type":"expression","start":22560,"end":22582}],"start":22514,"end":22586}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":22465,"doc":[],"end":22586},{"type":"method","name":"@construct","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":22608,"end":22614,"template":false},"doc":[],"name":"name","optional":[]},{"type":{"name":"string","reference":0,"start":22621,"end":22627,"template":false},"doc":[],"name":"field","optional":[]},{"type":{"name":"Websom.FieldInfo","reference":0,"start":22635,"end":22651,"template":false},"doc":[],"name":"fieldInfo","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.name","start":22668,"end":22677,"appendix":[]}},{"type":"constant","name":"name","start":22680,"end":22684,"appendix":[]}],"type":"expression","start":22668,"end":22684},{"terms":[{"operator":"=","term":{"type":"constant","name":"this.field","start":22689,"end":22699,"appendix":[]}},{"type":"constant","name":"field","start":22702,"end":22707,"appendix":[]}],"type":"expression","start":22685,"end":22707},{"terms":[{"operator":"=","term":{"type":"constant","name":"this.fieldInfo","start":22712,"end":22726,"appendix":[]}},{"type":"constant","name":"fieldInfo","start":22729,"end":22738,"appendix":[]}],"type":"expression","start":22708,"end":22738}],"start":22663,"end":22742}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":22587,"doc":[],"end":22742},{"type":"method","name":"validate","value":{"type":"method","parameters":[{"type":{"name":"Websom.Input","reference":0,"start":22762,"end":22774,"template":false},"doc":[],"name":"input","optional":[]},{"type":{"name":"function","reference":0,"start":22782,"end":22820,"template":[{"name":"void","reference":0,"start":22783,"end":22787,"template":false},{"name":"Websom.InputValidation","reference":0,"start":22788,"end":22811,"template":false}]},"doc":[],"name":"done","optional":[]}],"body":{"type":"block","code":[{"type":"if","alternatives":[{"type":"elseif","check":{"type":"group","expression":{"terms":[{"type":"constant","name":"this.required","start":22934,"end":22947,"appendix":[]}],"type":"expression","start":22934,"end":22946}},"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"done","start":22955,"end":23023,"appendix":[{"type":"call","expression":[{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.InputValidation","start":22964,"end":23022,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"boolean","value":true,"start":22987,"end":22991,"appendix":[]}],"type":"expression","start":22987,"end":22990},{"terms":[{"operator":"+","term":{"type":"literal","literalType":"string","value":"Missing field ","start":22993,"end":23009,"appendix":[]}},{"type":"constant","name":"this.name","start":23012,"end":23021,"appendix":[]}],"type":"expression","start":22992,"end":23020}]}]}],"type":"expression","start":22964,"end":23021},"start":22960,"end":23022,"appendix":[]}],"type":"expression","start":22960,"end":23021}]}]}],"type":"expression","start":22955,"end":23023}],"start":22949,"end":23028}},{"type":"else","body":{"type":"block","code":[{"terms":[{"type":"constant","name":"done","start":23039,"end":23082,"appendix":[{"type":"call","expression":[{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.InputValidation","start":23048,"end":23081,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"boolean","value":false,"start":23071,"end":23076,"appendix":[]}],"type":"expression","start":23071,"end":23075},{"terms":[{"type":"literal","literalType":"string","value":"","start":23078,"end":23080,"appendix":[]}],"type":"expression","start":23077,"end":23079}]}]}],"type":"expression","start":23048,"end":23080},"start":23044,"end":23081,"appendix":[]}],"type":"expression","start":23044,"end":23080}]}]}],"type":"expression","start":23039,"end":23082}],"start":23033,"end":23087}}],"check":{"type":"group","expression":{"terms":[{"operator":"in","term":{"type":"constant","name":"this.name","start":22836,"end":22845,"appendix":[]}},{"type":"constant","name":"input.raw","start":22849,"end":22858,"appendix":[]}],"type":"expression","start":22836,"end":22857}},"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"this.validateField","start":22866,"end":22919,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"input","start":22885,"end":22890,"appendix":[]}],"type":"expression","start":22885,"end":22889},{"terms":[{"type":"constant","name":"input.raw","start":22892,"end":22912,"appendix":[{"type":"index","expression":{"terms":[{"type":"constant","name":"this.name","start":22902,"end":22911,"appendix":[]}],"type":"expression","start":22902,"end":22910}}]}],"type":"expression","start":22891,"end":22911},{"terms":[{"type":"constant","name":"done","start":22914,"end":22918,"appendix":[]}],"type":"expression","start":22913,"end":22917}]}]}],"type":"expression","start":22866,"end":22919}],"start":22860,"end":22924},"start":22832,"end":23087}],"start":22827,"end":23091}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":22743,"doc":[],"end":23091},{"type":"method","name":"fill","value":{"type":"method","parameters":[{"type":{"name":"Websom.Input","reference":0,"start":23107,"end":23119,"template":false},"doc":[],"name":"input","optional":[]},{"type":{"name":"map","reference":0,"start":23127,"end":23130,"template":false},"doc":[],"name":"values","optional":[]},{"type":{"name":"function","reference":0,"start":23139,"end":23153,"template":[{"name":"void","reference":0,"start":23140,"end":23144,"template":false}]},"doc":[],"name":"done","optional":[]}],"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"this.fillField","start":23165,"end":23209,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"input.raw","start":23180,"end":23200,"appendix":[{"type":"index","expression":{"terms":[{"type":"constant","name":"this.name","start":23190,"end":23199,"appendix":[]}],"type":"expression","start":23190,"end":23198}}]}],"type":"expression","start":23180,"end":23199},{"terms":[{"type":"constant","name":"values","start":23202,"end":23208,"appendix":[]}],"type":"expression","start":23201,"end":23207}]}]}],"type":"expression","start":23165,"end":23209},{"terms":[{"type":"constant","name":"done","start":23214,"end":23220,"appendix":[{"type":"call","expression":[]}]}],"type":"expression","start":23210,"end":23220}],"start":23160,"end":23224}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":23092,"doc":[],"end":23224},{"type":"method","name":"filter","value":{"type":"method","parameters":[{"type":{"name":"Websom.Input","reference":0,"start":23242,"end":23254,"template":false},"doc":[],"name":"input","optional":[]},{"type":{"name":"Websom.DatabaseSelect","reference":0,"start":23262,"end":23283,"template":false},"doc":[],"name":"select","optional":[]},{"type":{"name":"function","reference":0,"start":23292,"end":23330,"template":[{"name":"void","reference":0,"start":23293,"end":23297,"template":false},{"name":"Websom.InputValidation","reference":0,"start":23298,"end":23321,"template":false}]},"doc":[],"name":"done","optional":[]}],"body":{"type":"block","code":[{"type":"if","alternatives":[{"type":"elseif","check":{"type":"group","expression":{"terms":[{"type":"constant","name":"this.required","start":23530,"end":23543,"appendix":[]}],"type":"expression","start":23530,"end":23542}},"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"done","start":23551,"end":23619,"appendix":[{"type":"call","expression":[{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.InputValidation","start":23560,"end":23618,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"boolean","value":true,"start":23583,"end":23587,"appendix":[]}],"type":"expression","start":23583,"end":23586},{"terms":[{"operator":"+","term":{"type":"literal","literalType":"string","value":"Missing field ","start":23589,"end":23605,"appendix":[]}},{"type":"constant","name":"this.name","start":23608,"end":23617,"appendix":[]}],"type":"expression","start":23588,"end":23616}]}]}],"type":"expression","start":23560,"end":23617},"start":23556,"end":23618,"appendix":[]}],"type":"expression","start":23556,"end":23617}]}]}],"type":"expression","start":23551,"end":23619}],"start":23545,"end":23624}},{"type":"else","body":{"type":"block","code":[{"terms":[{"type":"constant","name":"done","start":23635,"end":23645,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"null","start":23640,"end":23644,"appendix":[]}],"type":"expression","start":23640,"end":23643}]}]}],"type":"expression","start":23635,"end":23645}],"start":23629,"end":23650}}],"check":{"type":"group","expression":{"terms":[{"operator":"in","term":{"type":"constant","name":"this.name","start":23346,"end":23355,"appendix":[]}},{"type":"constant","name":"input.raw","start":23359,"end":23368,"appendix":[]}],"type":"expression","start":23346,"end":23367}},"body":{"type":"block","code":[{"type":"if","alternatives":[{"type":"else","body":{"type":"block","code":[{"terms":[{"type":"constant","name":"select.or","start":23434,"end":23445,"appendix":[{"type":"call","expression":[]}]}],"type":"expression","start":23434,"end":23445}],"start":23434,"end":23445}}],"check":{"type":"group","expression":{"terms":[{"operator":"==","term":{"type":"constant","name":"this.logic","start":23380,"end":23390,"appendix":[]}},{"type":"literal","literalType":"string","value":"and","start":23394,"end":23399,"appendix":[]}],"type":"expression","start":23380,"end":23398}},"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"select.and","start":23406,"end":23418,"appendix":[{"type":"call","expression":[]}]}],"type":"expression","start":23406,"end":23418}],"start":23406,"end":23418},"start":23376,"end":23445},{"type":"define","name":"val","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"this.filterField","start":23463,"end":23515,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"input.raw","start":23480,"end":23500,"appendix":[{"type":"index","expression":{"terms":[{"type":"constant","name":"this.name","start":23490,"end":23499,"appendix":[]}],"type":"expression","start":23490,"end":23498}}]}],"type":"expression","start":23480,"end":23499},{"terms":[{"type":"constant","name":"select","start":23502,"end":23508,"appendix":[]}],"type":"expression","start":23501,"end":23507},{"terms":[{"type":"constant","name":"done","start":23510,"end":23514,"appendix":[]}],"type":"expression","start":23509,"end":23513}]}]}],"type":"expression","start":23463,"end":23514},"start":23446,"end":23515}],"start":23370,"end":23520},"start":23342,"end":23650}],"start":23337,"end":23654}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":23225,"doc":[],"end":23654},{"type":"method","name":"validateField","value":{"type":"method","parameters":[{"type":{"name":"Websom.Input","reference":0,"start":23679,"end":23691,"template":false},"doc":[],"name":"input","optional":[]},{"type":{"name":"primitive","reference":0,"start":23699,"end":23708,"template":false},"doc":[],"name":"value","optional":[]},{"type":{"name":"function","reference":0,"start":23716,"end":23754,"template":[{"name":"void","reference":0,"start":23717,"end":23721,"template":false},{"name":"Websom.InputValidation","reference":0,"start":23722,"end":23745,"template":false}]},"doc":[],"name":"done","optional":[]}],"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"done","start":23766,"end":23809,"appendix":[{"type":"call","expression":[{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.InputValidation","start":23775,"end":23808,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"boolean","value":false,"start":23798,"end":23803,"appendix":[]}],"type":"expression","start":23798,"end":23802},{"terms":[{"type":"literal","literalType":"string","value":"","start":23805,"end":23807,"appendix":[]}],"type":"expression","start":23804,"end":23806}]}]}],"type":"expression","start":23775,"end":23807},"start":23771,"end":23808,"appendix":[]}],"type":"expression","start":23771,"end":23807}]}]}],"type":"expression","start":23766,"end":23809}],"start":23761,"end":23813}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":23655,"doc":[],"end":23813},{"type":"method","name":"fillField","value":{"type":"method","parameters":[{"type":{"name":"primitive","reference":0,"start":23834,"end":23843,"template":false},"doc":[],"name":"value","optional":[]},{"type":{"name":"map","reference":0,"start":23851,"end":23854,"template":false},"doc":[],"name":"values","optional":[]}],"body":{"type":"block","code":[],"start":23863,"end":23864}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":23814,"doc":[],"end":23864},{"type":"method","name":"filterField","value":{"type":"method","parameters":[{"type":{"name":"primitive","reference":0,"start":23887,"end":23896,"template":false},"doc":[],"name":"value","optional":[]},{"type":{"name":"Websom.DatabaseSelect","reference":0,"start":23904,"end":23925,"template":false},"doc":[],"name":"select","optional":[]},{"type":{"name":"function","reference":0,"start":23934,"end":23972,"template":[{"name":"void","reference":0,"start":23935,"end":23939,"template":false},{"name":"Websom.InputValidation","reference":0,"start":23940,"end":23963,"template":false}]},"doc":[],"name":"done","optional":[]}],"body":{"type":"block","code":[],"start":23979,"end":23980}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":23865,"doc":[],"end":23980}],"inherits":{"types":[{"name":"Websom.Control","reference":0,"start":22237,"end":22251,"template":false}]},"templates":[],"start":22191,"end":23983}},{"type": "class", "base": "namespace", "flags": [], "templates": [], "route": "Websom.Controls", "name": "Controls", "inherits": ["everything"], "members": []},{"type": "class", "base": "class", "flags": ["header"], "templates": [], "route": "Websom.Controls.Search", "name": "Search", "inherits": ["Websom.FieldControl","everything"], "members": [{"type": "method", "binding": "bound", "name": "filterField", "flags": ["override"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}},{"optional": "false", "name": "select", "type": {"name": "Websom.DatabaseSelect", "template": []}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.InputValidation", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "property", "binding": "bound", "name": "required",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "name",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "field",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "logic",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "fieldInfo",  "output": {"name": "Websom.FieldInfo", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "string", "template": []}},{"optional": "false", "name": "logic", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "name", "type": {"name": "string", "template": []}},{"optional": "false", "name": "field", "type": {"name": "string", "template": []}},{"optional": "false", "name": "fieldInfo", "type": {"name": "Websom.FieldInfo", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "validate",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.InputValidation", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "fill",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "values", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "filter",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "select", "type": {"name": "Websom.DatabaseSelect", "template": []}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.InputValidation", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "validateField",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.InputValidation", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "fillField",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}},{"optional": "false", "name": "values", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "property", "binding": "bound", "name": "container",  "output": {"name": "Websom.Container", "template": []}},{"type": "method", "binding": "bound", "name": "insert",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "data", "type": {"name": "Websom.Data", "template": []}},{"optional": "false", "name": "key", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "update",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "data", "type": {"name": "Websom.Data", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "message",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "name", "type": {"name": "string", "template": []}},{"optional": "false", "name": "data", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"optional": "false", "name": "send", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "map", "template": [{"name": "primitive", "template": []}]}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "use",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "inputChain", "type": {"name": "Websom.InputChain", "template": []}}], "isImplicitAsync": false, "isAsync": false}], "raw": {"type":"class","doc":[],"flags":["header"],"name":"Websom.Controls.Search","members":[{"type":"method","name":"filterField","value":{"type":"method","parameters":[{"type":{"name":"primitive","reference":0,"start":24108,"end":24117,"template":false},"doc":[],"name":"value","optional":[]},{"type":{"name":"Websom.DatabaseSelect","reference":0,"start":24125,"end":24146,"template":false},"doc":[],"name":"select","optional":[]},{"type":{"name":"function","reference":0,"start":24155,"end":24193,"template":[{"name":"void","reference":0,"start":24156,"end":24160,"template":false},{"name":"Websom.InputValidation","reference":0,"start":24161,"end":24184,"template":false}]},"doc":[],"name":"done","optional":[]}],"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"select.where","start":24205,"end":24245,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"this.field","start":24218,"end":24228,"appendix":[]}],"type":"expression","start":24218,"end":24227}]},{"type":"dot","name":"wildLike"},{"type":"call","expression":[{"terms":[{"type":"constant","name":"value","start":24239,"end":24244,"appendix":[]}],"type":"expression","start":24239,"end":24243}]}]}],"type":"expression","start":24205,"end":24245},{"terms":[{"type":"constant","name":"done","start":24250,"end":24260,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"null","start":24255,"end":24259,"appendix":[]}],"type":"expression","start":24255,"end":24258}]}]}],"type":"expression","start":24246,"end":24260}],"start":24200,"end":24264}},"output":{"name":"void","template":[]},"flags":["override"],"templates":[],"start":24082,"doc":[],"end":24264}],"inherits":{"types":[{"name":"Websom.FieldControl","reference":0,"start":24058,"end":24077,"template":false}]},"templates":[],"start":24016,"end":24267}},{"type": "class", "base": "class", "flags": ["header"], "templates": [], "route": "Websom.Controls.Component", "name": "Component", "inherits": ["Websom.Control","everything"], "members": [{"type": "property", "binding": "bound", "name": "parentContainer",  "output": {"name": "Websom.Containers.Table", "template": []}},{"type": "property", "binding": "bound", "name": "componentContainer",  "output": {"name": "Websom.Containers.Table", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "parentContainer", "type": {"name": "Websom.Containers.Table", "template": []}},{"optional": "false", "name": "componentContainer", "type": {"name": "Websom.Containers.Table", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "validate",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.InputValidation", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "fill",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "values", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "filter",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "select", "type": {"name": "Websom.DatabaseSelect", "template": []}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.InputValidation", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "property", "binding": "bound", "name": "container",  "output": {"name": "Websom.Container", "template": []}},{"type": "method", "binding": "bound", "name": "insert",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "data", "type": {"name": "Websom.Data", "template": []}},{"optional": "false", "name": "key", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "update",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "data", "type": {"name": "Websom.Data", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "message",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "name", "type": {"name": "string", "template": []}},{"optional": "false", "name": "data", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"optional": "false", "name": "send", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "map", "template": [{"name": "primitive", "template": []}]}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "use",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "inputChain", "type": {"name": "Websom.InputChain", "template": []}}], "isImplicitAsync": false, "isAsync": false}], "raw": {"type":"class","doc":[],"flags":["header"],"name":"Websom.Controls.Component","members":[{"type":"property","name":"parentContainer","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":24374,"end":24378,"appendix":[]}],"type":"expression","start":24374,"end":24377}},"output":{"name":"Websom.Containers.Table","template":[]},"flags":[],"templates":[],"start":24332,"doc":[],"end":24378},{"type":"property","name":"componentContainer","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":24427,"end":24431,"appendix":[]}],"type":"expression","start":24427,"end":24430}},"output":{"name":"Websom.Containers.Table","template":[]},"flags":[],"templates":[],"start":24379,"doc":[],"end":24431},{"type":"method","name":"@construct","value":{"type":"method","parameters":[{"type":{"name":"Websom.Containers.Table","reference":0,"start":24453,"end":24476,"template":false},"doc":[],"name":"parentContainer","optional":[]},{"type":{"name":"Websom.Containers.Table","reference":0,"start":24494,"end":24517,"template":false},"doc":[],"name":"componentContainer","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.parentContainer","start":24543,"end":24563,"appendix":[]}},{"type":"constant","name":"parentContainer","start":24566,"end":24581,"appendix":[]}],"type":"expression","start":24543,"end":24581},{"terms":[{"operator":"=","term":{"type":"constant","name":"this.componentContainer","start":24586,"end":24609,"appendix":[]}},{"type":"constant","name":"componentContainer","start":24612,"end":24630,"appendix":[]}],"type":"expression","start":24582,"end":24630}],"start":24538,"end":24634}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":24432,"doc":[],"end":24634},{"type":"method","name":"validate","value":{"type":"method","parameters":[{"type":{"name":"Websom.Input","reference":0,"start":24654,"end":24666,"template":false},"doc":[],"name":"input","optional":[]},{"type":{"name":"function","reference":0,"start":24674,"end":24712,"template":[{"name":"void","reference":0,"start":24675,"end":24679,"template":false},{"name":"Websom.InputValidation","reference":0,"start":24680,"end":24703,"template":false}]},"doc":[],"name":"done","optional":[]}],"body":{"type":"block","code":[{"type":"define","name":"that","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"this","start":24735,"end":24739,"appendix":[]}],"type":"expression","start":24735,"end":24738},"start":24724,"end":24739},{"type":"if","alternatives":[{"type":"else","body":{"type":"block","code":[{"terms":[{"type":"constant","name":"done","start":25623,"end":25685,"appendix":[{"type":"call","expression":[{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.InputValidation","start":25632,"end":25684,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"boolean","value":true,"start":25655,"end":25659,"appendix":[]}],"type":"expression","start":25655,"end":25658},{"terms":[{"type":"literal","literalType":"string","value":"Invalid parent value","start":25661,"end":25683,"appendix":[]}],"type":"expression","start":25660,"end":25682}]}]}],"type":"expression","start":25632,"end":25683},"start":25628,"end":25684,"appendix":[]}],"type":"expression","start":25628,"end":25683}]}]}],"type":"expression","start":25623,"end":25685}],"start":25617,"end":25690}}],"check":{"type":"group","expression":{"terms":[{"operator":"and","term":{"type":"group","expression":{"terms":[{"operator":"in","term":{"type":"literal","literalType":"string","value":"parent","start":24749,"end":24757,"appendix":[]}},{"type":"constant","name":"input.raw","start":24761,"end":24770,"appendix":[]}],"type":"expression","start":24749,"end":24769},"start":24748,"end":24771,"appendix":[]}},{"type":"group","expression":{"terms":[{"operator":"==","term":{"type":"constant","name":"input.raw","start":24777,"end":24811,"appendix":[{"type":"index","expression":{"terms":[{"type":"literal","literalType":"string","value":"parent","start":24787,"end":24795,"appendix":[]}],"type":"expression","start":24787,"end":24794}},{"type":"dot","name":"typeAsString"},{"type":"call","expression":[]}]}},{"type":"literal","literalType":"string","value":"string","start":24815,"end":24823,"appendix":[]}],"type":"expression","start":24777,"end":24822},"start":24776,"end":24824,"appendix":[]}],"type":"expression","start":24748,"end":24823}},"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"this.parentContainer.from","start":24832,"end":25607,"appendix":[{"type":"call","expression":[]},{"type":"dot","name":"where"},{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"string","value":"publicId","start":24866,"end":24876,"appendix":[]}],"type":"expression","start":24866,"end":24875}]},{"type":"dot","name":"equals"},{"type":"call","expression":[{"terms":[{"type":"constant","name":"input.raw","start":24885,"end":24904,"appendix":[{"type":"index","expression":{"terms":[{"type":"literal","literalType":"string","value":"parent","start":24895,"end":24903,"appendix":[]}],"type":"expression","start":24895,"end":24902}}]}],"type":"expression","start":24885,"end":24903}]},{"type":"dot","name":"run"},{"type":"call","expression":[{"terms":[{"type":"function","output":{"name":"void","reference":0,"start":24916,"end":24920,"template":false},"parameters":[{"type":{"name":"string","reference":0,"start":24922,"end":24928,"template":false},"doc":[],"name":"err","optional":[]},{"type":{"name":"array","reference":0,"start":24934,"end":24944,"template":[{"name":"map","reference":0,"start":24935,"end":24938,"template":false}]},"doc":[],"name":"docs","optional":[]}],"body":{"type":"block","code":[{"type":"if","alternatives":[{"type":"else","body":{"type":"block","code":[{"type":"if","alternatives":[{"type":"else","body":{"type":"block","code":[{"terms":[{"type":"constant","name":"done","start":25517,"end":25581,"appendix":[{"type":"call","expression":[{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.InputValidation","start":25526,"end":25580,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"boolean","value":true,"start":25549,"end":25553,"appendix":[]}],"type":"expression","start":25549,"end":25552},{"terms":[{"type":"literal","literalType":"string","value":"Parent value not found","start":25555,"end":25579,"appendix":[]}],"type":"expression","start":25554,"end":25578}]}]}],"type":"expression","start":25526,"end":25579},"start":25522,"end":25580,"appendix":[]}],"type":"expression","start":25522,"end":25579}]}]}],"type":"expression","start":25517,"end":25581}],"start":25507,"end":25590}}],"check":{"type":"group","expression":{"terms":[{"operator":">","term":{"type":"constant","name":"docs.length","start":25068,"end":25079,"appendix":[]}},{"type":"literal","literalType":"number","value":0,"integer":true,"start":25082,"end":25083,"appendix":[]}],"type":"expression","start":25068,"end":25082}},"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"that.componentContainer.from","start":25095,"end":25493,"appendix":[{"type":"call","expression":[]},{"type":"dot","name":"where"},{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"string","value":"parentId","start":25132,"end":25142,"appendix":[]}],"type":"expression","start":25132,"end":25141}]},{"type":"dot","name":"equals"},{"type":"call","expression":[{"terms":[{"type":"constant","name":"docs","start":25151,"end":25164,"appendix":[{"type":"index","expression":{"terms":[{"type":"literal","literalType":"number","value":0,"integer":true,"start":25156,"end":25157,"appendix":[]}],"type":"expression","start":25156,"end":25156}},{"type":"index","expression":{"terms":[{"type":"literal","literalType":"string","value":"id","start":25159,"end":25163,"appendix":[]}],"type":"expression","start":25159,"end":25162}}]}],"type":"expression","start":25151,"end":25163}]},{"type":"dot","name":"run"},{"type":"call","expression":[{"terms":[{"type":"function","output":{"name":"void","reference":0,"start":25180,"end":25184,"template":false},"parameters":[{"type":{"name":"string","reference":0,"start":25186,"end":25192,"template":false},"doc":[],"name":"err2","optional":[]},{"type":{"name":"array","reference":0,"start":25199,"end":25209,"template":[{"name":"map","reference":0,"start":25200,"end":25203,"template":false}]},"doc":[],"name":"docs2","optional":[]}],"body":{"type":"block","code":[{"type":"if","alternatives":[{"type":"else","body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"input.raw","start":25378,"end":25428,"appendix":[{"type":"index","expression":{"terms":[{"operator":"+","term":{"type":"constant","name":"that.parentContainer.table","start":25388,"end":25414,"appendix":[]}},{"type":"literal","literalType":"string","value":"parentId","start":25417,"end":25427,"appendix":[]}],"type":"expression","start":25388,"end":25426}}]}},{"type":"constant","name":"docs2","start":25431,"end":25445,"appendix":[{"type":"index","expression":{"terms":[{"type":"literal","literalType":"number","value":0,"integer":true,"start":25437,"end":25438,"appendix":[]}],"type":"expression","start":25437,"end":25437}},{"type":"index","expression":{"terms":[{"type":"literal","literalType":"string","value":"id","start":25440,"end":25444,"appendix":[]}],"type":"expression","start":25440,"end":25443}}]}],"type":"expression","start":25378,"end":25445},{"terms":[{"type":"constant","name":"done","start":25458,"end":25468,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"null","start":25463,"end":25467,"appendix":[]}],"type":"expression","start":25463,"end":25466}]}]}],"type":"expression","start":25446,"end":25468}],"start":25365,"end":25480}}],"check":{"type":"group","expression":{"terms":[{"operator":"!=","term":{"type":"constant","name":"err2","start":25236,"end":25240,"appendix":[]}},{"operator":"or","term":{"type":"constant","name":"null","start":25244,"end":25248,"appendix":[]}},{"operator":"==","term":{"type":"constant","name":"docs2.length","start":25252,"end":25264,"appendix":[]}},{"type":"literal","literalType":"number","value":0,"integer":true,"start":25268,"end":25269,"appendix":[]}],"type":"expression","start":25236,"end":25268}},"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"done","start":25284,"end":25348,"appendix":[{"type":"call","expression":[{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.InputValidation","start":25293,"end":25347,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"boolean","value":true,"start":25316,"end":25320,"appendix":[]}],"type":"expression","start":25316,"end":25319},{"terms":[{"type":"literal","literalType":"string","value":"Parent value not found","start":25322,"end":25346,"appendix":[]}],"type":"expression","start":25321,"end":25345}]}]}],"type":"expression","start":25293,"end":25346},"start":25289,"end":25347,"appendix":[]}],"type":"expression","start":25289,"end":25346}]}]}],"type":"expression","start":25284,"end":25348}],"start":25271,"end":25360},"start":25232,"end":25480}],"start":25220,"end":25491}}],"type":"expression","start":25180,"end":25491}]}]}],"type":"expression","start":25095,"end":25493}],"start":25085,"end":25502},"start":25064,"end":25590}],"start":25055,"end":25598}}],"check":{"type":"group","expression":{"terms":[{"operator":"!=","term":{"type":"constant","name":"err","start":24966,"end":24969,"appendix":[]}},{"type":"constant","name":"null","start":24973,"end":24977,"appendix":[]}],"type":"expression","start":24966,"end":24976}},"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"done","start":24988,"end":25042,"appendix":[{"type":"call","expression":[{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.InputValidation","start":24997,"end":25041,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"boolean","value":true,"start":25020,"end":25024,"appendix":[]}],"type":"expression","start":25020,"end":25023},{"terms":[{"type":"literal","literalType":"string","value":"Server error","start":25026,"end":25040,"appendix":[]}],"type":"expression","start":25025,"end":25039}]}]}],"type":"expression","start":24997,"end":25040},"start":24993,"end":25041,"appendix":[]}],"type":"expression","start":24993,"end":25040}]}]}],"type":"expression","start":24988,"end":25042}],"start":24979,"end":25050},"start":24962,"end":25598}],"start":24954,"end":25605}}],"type":"expression","start":24916,"end":25605}]}]}],"type":"expression","start":24832,"end":25607}],"start":24826,"end":25612},"start":24740,"end":25690}],"start":24719,"end":25694}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":24635,"doc":[],"end":25694},{"type":"method","name":"fill","value":{"type":"method","parameters":[{"type":{"name":"Websom.Input","reference":0,"start":25710,"end":25722,"template":false},"doc":[],"name":"input","optional":[]},{"type":{"name":"map","reference":0,"start":25730,"end":25733,"template":false},"doc":[],"name":"values","optional":[]},{"type":{"name":"function","reference":0,"start":25742,"end":25756,"template":[{"name":"void","reference":0,"start":25743,"end":25747,"template":false}]},"doc":[],"name":"done","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"values","start":25768,"end":25786,"appendix":[{"type":"index","expression":{"terms":[{"type":"literal","literalType":"string","value":"parentId","start":25775,"end":25785,"appendix":[]}],"type":"expression","start":25775,"end":25784}}]}},{"type":"constant","name":"input.raw","start":25789,"end":25839,"appendix":[{"type":"index","expression":{"terms":[{"operator":"+","term":{"type":"constant","name":"this.parentContainer.table","start":25799,"end":25825,"appendix":[]}},{"type":"literal","literalType":"string","value":"parentId","start":25828,"end":25838,"appendix":[]}],"type":"expression","start":25799,"end":25837}}]}],"type":"expression","start":25768,"end":25839},{"terms":[{"type":"constant","name":"done","start":25844,"end":25850,"appendix":[{"type":"call","expression":[]}]}],"type":"expression","start":25840,"end":25850}],"start":25763,"end":25854}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":25695,"doc":[],"end":25854},{"type":"method","name":"filter","value":{"type":"method","parameters":[{"type":{"name":"Websom.Input","reference":0,"start":25872,"end":25884,"template":false},"doc":[],"name":"input","optional":[]},{"type":{"name":"Websom.DatabaseSelect","reference":0,"start":25892,"end":25913,"template":false},"doc":[],"name":"select","optional":[]},{"type":{"name":"function","reference":0,"start":25922,"end":25960,"template":[{"name":"void","reference":0,"start":25923,"end":25927,"template":false},{"name":"Websom.InputValidation","reference":0,"start":25928,"end":25951,"template":false}]},"doc":[],"name":"done","optional":[]}],"body":{"type":"block","code":[{"type":"define","name":"that","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"this","start":26011,"end":26015,"appendix":[]}],"type":"expression","start":26011,"end":26014},"start":26000,"end":26015},{"type":"if","alternatives":[{"type":"else","body":{"type":"block","code":[{"terms":[{"type":"constant","name":"done","start":26879,"end":26941,"appendix":[{"type":"call","expression":[{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.InputValidation","start":26888,"end":26940,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"boolean","value":true,"start":26911,"end":26915,"appendix":[]}],"type":"expression","start":26911,"end":26914},{"terms":[{"type":"literal","literalType":"string","value":"Invalid parent value","start":26917,"end":26939,"appendix":[]}],"type":"expression","start":26916,"end":26938}]}]}],"type":"expression","start":26888,"end":26939},"start":26884,"end":26940,"appendix":[]}],"type":"expression","start":26884,"end":26939}]}]}],"type":"expression","start":26879,"end":26941}],"start":26873,"end":26946}}],"check":{"type":"group","expression":{"terms":[{"operator":"and","term":{"type":"group","expression":{"terms":[{"operator":"in","term":{"type":"literal","literalType":"string","value":"parent","start":26025,"end":26033,"appendix":[]}},{"type":"constant","name":"input.raw","start":26037,"end":26046,"appendix":[]}],"type":"expression","start":26025,"end":26045},"start":26024,"end":26047,"appendix":[]}},{"type":"group","expression":{"terms":[{"operator":"==","term":{"type":"constant","name":"input.raw","start":26053,"end":26087,"appendix":[{"type":"index","expression":{"terms":[{"type":"literal","literalType":"string","value":"parent","start":26063,"end":26071,"appendix":[]}],"type":"expression","start":26063,"end":26070}},{"type":"dot","name":"typeAsString"},{"type":"call","expression":[]}]}},{"type":"literal","literalType":"string","value":"string","start":26091,"end":26099,"appendix":[]}],"type":"expression","start":26053,"end":26098},"start":26052,"end":26100,"appendix":[]}],"type":"expression","start":26024,"end":26099}},"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"this.parentContainer.from","start":26108,"end":26863,"appendix":[{"type":"call","expression":[]},{"type":"dot","name":"where"},{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"string","value":"publicId","start":26142,"end":26152,"appendix":[]}],"type":"expression","start":26142,"end":26151}]},{"type":"dot","name":"equals"},{"type":"call","expression":[{"terms":[{"type":"constant","name":"input.raw","start":26161,"end":26180,"appendix":[{"type":"index","expression":{"terms":[{"type":"literal","literalType":"string","value":"parent","start":26171,"end":26179,"appendix":[]}],"type":"expression","start":26171,"end":26178}}]}],"type":"expression","start":26161,"end":26179}]},{"type":"dot","name":"run"},{"type":"call","expression":[{"terms":[{"type":"function","output":{"name":"void","reference":0,"start":26192,"end":26196,"template":false},"parameters":[{"type":{"name":"string","reference":0,"start":26198,"end":26204,"template":false},"doc":[],"name":"err","optional":[]},{"type":{"name":"array","reference":0,"start":26210,"end":26220,"template":[{"name":"map","reference":0,"start":26211,"end":26214,"template":false}]},"doc":[],"name":"docs","optional":[]}],"body":{"type":"block","code":[{"type":"if","alternatives":[{"type":"else","body":{"type":"block","code":[{"type":"if","alternatives":[{"type":"else","body":{"type":"block","code":[{"terms":[{"type":"constant","name":"done","start":26773,"end":26837,"appendix":[{"type":"call","expression":[{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.InputValidation","start":26782,"end":26836,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"boolean","value":true,"start":26805,"end":26809,"appendix":[]}],"type":"expression","start":26805,"end":26808},{"terms":[{"type":"literal","literalType":"string","value":"Parent value not found","start":26811,"end":26835,"appendix":[]}],"type":"expression","start":26810,"end":26834}]}]}],"type":"expression","start":26782,"end":26835},"start":26778,"end":26836,"appendix":[]}],"type":"expression","start":26778,"end":26835}]}]}],"type":"expression","start":26773,"end":26837}],"start":26763,"end":26846}}],"check":{"type":"group","expression":{"terms":[{"operator":">","term":{"type":"constant","name":"docs.length","start":26344,"end":26355,"appendix":[]}},{"type":"literal","literalType":"number","value":0,"integer":true,"start":26358,"end":26359,"appendix":[]}],"type":"expression","start":26344,"end":26358}},"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"that.componentContainer.from","start":26371,"end":26749,"appendix":[{"type":"call","expression":[]},{"type":"dot","name":"where"},{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"string","value":"parentId","start":26408,"end":26418,"appendix":[]}],"type":"expression","start":26408,"end":26417}]},{"type":"dot","name":"equals"},{"type":"call","expression":[{"terms":[{"type":"constant","name":"docs","start":26427,"end":26440,"appendix":[{"type":"index","expression":{"terms":[{"type":"literal","literalType":"number","value":0,"integer":true,"start":26432,"end":26433,"appendix":[]}],"type":"expression","start":26432,"end":26432}},{"type":"index","expression":{"terms":[{"type":"literal","literalType":"string","value":"id","start":26435,"end":26439,"appendix":[]}],"type":"expression","start":26435,"end":26438}}]}],"type":"expression","start":26427,"end":26439}]},{"type":"dot","name":"run"},{"type":"call","expression":[{"terms":[{"type":"function","output":{"name":"void","reference":0,"start":26456,"end":26460,"template":false},"parameters":[{"type":{"name":"string","reference":0,"start":26462,"end":26468,"template":false},"doc":[],"name":"err2","optional":[]},{"type":{"name":"array","reference":0,"start":26475,"end":26485,"template":[{"name":"map","reference":0,"start":26476,"end":26479,"template":false}]},"doc":[],"name":"docs2","optional":[]}],"body":{"type":"block","code":[{"type":"if","alternatives":[{"type":"else","body":{"type":"block","code":[{"terms":[{"type":"constant","name":"select.where","start":26654,"end":26701,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"string","value":"parentId","start":26667,"end":26677,"appendix":[]}],"type":"expression","start":26667,"end":26676}]},{"type":"dot","name":"equals"},{"type":"call","expression":[{"terms":[{"type":"constant","name":"docs2","start":26686,"end":26700,"appendix":[{"type":"index","expression":{"terms":[{"type":"literal","literalType":"number","value":0,"integer":true,"start":26692,"end":26693,"appendix":[]}],"type":"expression","start":26692,"end":26692}},{"type":"index","expression":{"terms":[{"type":"literal","literalType":"string","value":"id","start":26695,"end":26699,"appendix":[]}],"type":"expression","start":26695,"end":26698}}]}],"type":"expression","start":26686,"end":26699}]}]}],"type":"expression","start":26654,"end":26701},{"terms":[{"type":"constant","name":"done","start":26714,"end":26724,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"null","start":26719,"end":26723,"appendix":[]}],"type":"expression","start":26719,"end":26722}]}]}],"type":"expression","start":26702,"end":26724}],"start":26641,"end":26736}}],"check":{"type":"group","expression":{"terms":[{"operator":"!=","term":{"type":"constant","name":"err2","start":26512,"end":26516,"appendix":[]}},{"operator":"or","term":{"type":"constant","name":"null","start":26520,"end":26524,"appendix":[]}},{"operator":"==","term":{"type":"constant","name":"docs2.length","start":26528,"end":26540,"appendix":[]}},{"type":"literal","literalType":"number","value":0,"integer":true,"start":26544,"end":26545,"appendix":[]}],"type":"expression","start":26512,"end":26544}},"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"done","start":26560,"end":26624,"appendix":[{"type":"call","expression":[{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.InputValidation","start":26569,"end":26623,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"boolean","value":true,"start":26592,"end":26596,"appendix":[]}],"type":"expression","start":26592,"end":26595},{"terms":[{"type":"literal","literalType":"string","value":"Parent value not found","start":26598,"end":26622,"appendix":[]}],"type":"expression","start":26597,"end":26621}]}]}],"type":"expression","start":26569,"end":26622},"start":26565,"end":26623,"appendix":[]}],"type":"expression","start":26565,"end":26622}]}]}],"type":"expression","start":26560,"end":26624}],"start":26547,"end":26636},"start":26508,"end":26736}],"start":26496,"end":26747}}],"type":"expression","start":26456,"end":26747}]}]}],"type":"expression","start":26371,"end":26749}],"start":26361,"end":26758},"start":26340,"end":26846}],"start":26331,"end":26854}}],"check":{"type":"group","expression":{"terms":[{"operator":"!=","term":{"type":"constant","name":"err","start":26242,"end":26245,"appendix":[]}},{"type":"constant","name":"null","start":26249,"end":26253,"appendix":[]}],"type":"expression","start":26242,"end":26252}},"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"done","start":26264,"end":26318,"appendix":[{"type":"call","expression":[{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.InputValidation","start":26273,"end":26317,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"boolean","value":true,"start":26296,"end":26300,"appendix":[]}],"type":"expression","start":26296,"end":26299},{"terms":[{"type":"literal","literalType":"string","value":"Server error","start":26302,"end":26316,"appendix":[]}],"type":"expression","start":26301,"end":26315}]}]}],"type":"expression","start":26273,"end":26316},"start":26269,"end":26317,"appendix":[]}],"type":"expression","start":26269,"end":26316}]}]}],"type":"expression","start":26264,"end":26318}],"start":26255,"end":26326},"start":26238,"end":26854}],"start":26230,"end":26861}}],"type":"expression","start":26192,"end":26861}]}]}],"type":"expression","start":26108,"end":26863}],"start":26102,"end":26868},"start":26016,"end":26946}],"start":25967,"end":26950}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":25855,"doc":[],"end":26950}],"inherits":{"types":[{"name":"Websom.Control","reference":0,"start":24313,"end":24327,"template":false}]},"templates":[],"start":24268,"end":26953}},{"type": "class", "base": "class", "flags": ["header"], "templates": [], "route": "Websom.Controls.AddTo", "name": "AddTo", "inherits": ["Websom.MessageControl","everything"], "members": [{"type": "property", "binding": "bound", "name": "fieldName",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "listFieldName",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "collection",  "output": {"name": "Websom.Containers.Table", "template": []}},{"type": "property", "binding": "bound", "name": "item",  "output": {"name": "Websom.Containers.Table", "template": []}},{"type": "property", "binding": "bound", "name": "check",  "output": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.Request", "template": []}, {"name": "Websom.Data", "template": []}, {"name": "Websom.Data", "template": []}, {"name": "function", "template": [{"name": "void", "template": []}, {"name": "bool", "template": []}]}]}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "collection", "type": {"name": "Websom.Containers.Table", "template": []}},{"optional": "false", "name": "item", "type": {"name": "Websom.Containers.Table", "template": []}},{"optional": "false", "name": "listFieldName", "type": {"name": "string", "template": []}},{"optional": "false", "name": "fieldName", "type": {"name": "string", "template": []}},{"optional": "false", "name": "check", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.Request", "template": []}, {"name": "Websom.Data", "template": []}, {"name": "Websom.Data", "template": []}, {"name": "function", "template": [{"name": "void", "template": []}, {"name": "bool", "template": []}]}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "collection", "type": {"name": "Websom.Containers.Table", "template": []}},{"optional": "false", "name": "item", "type": {"name": "Websom.Containers.Table", "template": []}},{"optional": "false", "name": "listFieldName", "type": {"name": "string", "template": []}},{"optional": "false", "name": "fieldName", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "message", "flags": ["override"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "inp", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "name", "type": {"name": "string", "template": []}},{"optional": "false", "name": "data", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"optional": "false", "name": "send", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "map", "template": [{"name": "primitive", "template": []}]}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "addTo", "flags": ["trust"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "collection", "type": {"name": "Websom.Data", "template": []}},{"optional": "false", "name": "item", "type": {"name": "Websom.Data", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "use", "flags": ["override"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "ic", "type": {"name": "Websom.InputChain", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "validate",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.InputValidation", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "fill",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "values", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "filter",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "select", "type": {"name": "Websom.DatabaseSelect", "template": []}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.InputValidation", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "property", "binding": "bound", "name": "container",  "output": {"name": "Websom.Container", "template": []}},{"type": "method", "binding": "bound", "name": "insert",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "data", "type": {"name": "Websom.Data", "template": []}},{"optional": "false", "name": "key", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "update",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "data", "type": {"name": "Websom.Data", "template": []}}], "isImplicitAsync": false, "isAsync": false}], "raw": {"type":"class","doc":["@note The AddTo control increments arrayIndex, but does not update old entries."],"flags":["header"],"name":"Websom.Controls.AddTo","members":[{"type":"property","name":"fieldName","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":165,"end":167,"appendix":[]}],"type":"expression","start":165,"end":166}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":146,"doc":[],"end":167},{"type":"property","name":"listFieldName","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":194,"end":196,"appendix":[]}],"type":"expression","start":194,"end":195}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":168,"doc":[],"end":196},{"type":"property","name":"collection","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":239,"end":243,"appendix":[]}],"type":"expression","start":239,"end":242}},"output":{"name":"Websom.Containers.Table","template":[]},"flags":[],"templates":[],"start":197,"doc":[],"end":243},{"type":"property","name":"item","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":278,"end":282,"appendix":[]}],"type":"expression","start":278,"end":281}},"output":{"name":"Websom.Containers.Table","template":[]},"flags":[],"templates":[],"start":244,"doc":[],"end":282},{"type":"property","doc":[],"output":{"name":"function","reference":0,"start":288,"end":366,"template":[{"name":"void","reference":0,"start":289,"end":293,"template":false},{"name":"Websom.Request","reference":0,"start":294,"end":309,"template":false},{"name":"Websom.Data","reference":0,"start":310,"end":322,"template":false},{"name":"Websom.Data","reference":0,"start":323,"end":335,"template":false},{"name":"function","reference":0,"start":336,"end":357,"template":[{"name":"void","reference":0,"start":338,"end":342,"template":false},{"name":"bool","reference":0,"start":343,"end":348,"template":false}]}]},"name":"check","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":375,"end":379,"appendix":[]}],"type":"expression","start":375,"end":378}},"flags":[],"templates":[],"start":283,"end":379},{"type":"method","name":"@construct","value":{"type":"method","parameters":[{"type":{"name":"Websom.Containers.Table","reference":0,"start":401,"end":424,"template":false},"doc":[],"name":"collection","optional":[]},{"type":{"name":"Websom.Containers.Table","reference":0,"start":437,"end":460,"template":false},"doc":[],"name":"item","optional":[]},{"type":{"name":"string","reference":0,"start":467,"end":473,"template":false},"doc":[],"name":"listFieldName","optional":[]},{"type":{"name":"string","reference":0,"start":489,"end":495,"template":false},"doc":[],"name":"fieldName","optional":[]},{"type":{"name":"function","reference":0,"start":507,"end":585,"template":[{"name":"void","reference":0,"start":508,"end":512,"template":false},{"name":"Websom.Request","reference":0,"start":513,"end":528,"template":false},{"name":"Websom.Data","reference":0,"start":529,"end":541,"template":false},{"name":"Websom.Data","reference":0,"start":542,"end":554,"template":false},{"name":"function","reference":0,"start":555,"end":576,"template":[{"name":"void","reference":0,"start":557,"end":561,"template":false},{"name":"bool","reference":0,"start":562,"end":567,"template":false}]}]},"doc":[],"name":"check","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.collection","start":598,"end":613,"appendix":[]}},{"type":"constant","name":"collection","start":616,"end":626,"appendix":[]}],"type":"expression","start":598,"end":626},{"terms":[{"operator":"=","term":{"type":"constant","name":"this.item","start":631,"end":640,"appendix":[]}},{"type":"constant","name":"item","start":643,"end":647,"appendix":[]}],"type":"expression","start":627,"end":647},{"terms":[{"operator":"=","term":{"type":"constant","name":"this.listFieldName","start":652,"end":670,"appendix":[]}},{"type":"constant","name":"listFieldName","start":673,"end":686,"appendix":[]}],"type":"expression","start":648,"end":686},{"terms":[{"operator":"=","term":{"type":"constant","name":"this.check","start":691,"end":701,"appendix":[]}},{"type":"constant","name":"check","start":704,"end":709,"appendix":[]}],"type":"expression","start":687,"end":709},{"terms":[{"operator":"=","term":{"type":"constant","name":"this.fieldName","start":714,"end":728,"appendix":[]}},{"type":"constant","name":"fieldName","start":731,"end":740,"appendix":[]}],"type":"expression","start":710,"end":740}],"start":593,"end":744}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":380,"doc":[],"end":744},{"type":"method","name":"@construct","value":{"type":"method","parameters":[{"type":{"name":"Websom.Containers.Table","reference":0,"start":766,"end":789,"template":false},"doc":[],"name":"collection","optional":[]},{"type":{"name":"Websom.Containers.Table","reference":0,"start":802,"end":825,"template":false},"doc":[],"name":"item","optional":[]},{"type":{"name":"string","reference":0,"start":832,"end":838,"template":false},"doc":[],"name":"listFieldName","optional":[]},{"type":{"name":"string","reference":0,"start":854,"end":860,"template":false},"doc":[],"name":"fieldName","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.collection","start":877,"end":892,"appendix":[]}},{"type":"constant","name":"collection","start":895,"end":905,"appendix":[]}],"type":"expression","start":877,"end":905},{"terms":[{"operator":"=","term":{"type":"constant","name":"this.item","start":910,"end":919,"appendix":[]}},{"type":"constant","name":"item","start":922,"end":926,"appendix":[]}],"type":"expression","start":906,"end":926},{"terms":[{"operator":"=","term":{"type":"constant","name":"this.listFieldName","start":931,"end":949,"appendix":[]}},{"type":"constant","name":"listFieldName","start":952,"end":965,"appendix":[]}],"type":"expression","start":927,"end":965},{"terms":[{"operator":"=","term":{"type":"constant","name":"this.fieldName","start":970,"end":984,"appendix":[]}},{"type":"constant","name":"fieldName","start":987,"end":996,"appendix":[]}],"type":"expression","start":966,"end":996}],"start":872,"end":1000}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":745,"doc":[],"end":1000},{"type":"method","name":"message","value":{"type":"method","parameters":[{"type":{"name":"Websom.Input","reference":0,"start":1028,"end":1040,"template":false},"doc":[],"name":"inp","optional":[]},{"type":{"name":"string","reference":0,"start":1046,"end":1052,"template":false},"doc":[],"name":"name","optional":[]},{"type":{"name":"map","reference":0,"start":1059,"end":1062,"template":false},"doc":[],"name":"data","optional":[]},{"type":{"name":"function","reference":0,"start":1069,"end":1088,"template":[{"name":"void","reference":0,"start":1070,"end":1074,"template":false},{"name":"map","reference":0,"start":1075,"end":1079,"template":false}]},"doc":[],"name":"send","optional":[]}],"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"send","start":1685,"end":1695,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"null","start":1690,"end":1694,"appendix":[]}],"type":"expression","start":1690,"end":1693}]}]}],"type":"expression","start":1685,"end":1695}],"start":1095,"end":1699}},"output":{"name":"void","template":[]},"flags":["override"],"templates":[],"start":1001,"doc":[],"end":1699},{"type":"method","name":"addTo","value":{"type":"method","parameters":[{"type":{"name":"Websom.Data","reference":0,"start":1722,"end":1733,"template":false},"doc":[],"name":"collection","optional":[]},{"type":{"name":"Websom.Data","reference":0,"start":1746,"end":1757,"template":false},"doc":[],"name":"item","optional":[]}],"body":{"type":"block","code":[{"type":"define","name":"that","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"this","start":1780,"end":1784,"appendix":[]}],"type":"expression","start":1780,"end":1783},"start":1769,"end":1784},{"type":"define","name":"list","valueType":{"name":"Websom.Containers.Table","reference":0,"start":1793,"end":1816,"template":false},"value":{"terms":[{"type":"constant","name":"collection.getFieldContainer","start":1824,"end":1872,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"this.listFieldName","start":1853,"end":1871,"appendix":[]}],"type":"expression","start":1853,"end":1870}]}]}],"type":"expression","start":1824,"end":1871},"start":1785,"end":1872},{"type":"define","name":"itemId","valueType":{"name":"int","reference":0,"start":1881,"end":1884,"template":false},"value":{"terms":[{"type":"constant","name":"item.getField","start":1894,"end":1913,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"string","value":"id","start":1908,"end":1912,"appendix":[]}],"type":"expression","start":1908,"end":1911}]}]}],"type":"expression","start":1894,"end":1912},"start":1873,"end":1913},{"type":"define","name":"select","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"list.from","start":1933,"end":2054,"appendix":[{"type":"call","expression":[]},{"type":"dot","name":"where"},{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"string","value":"parentId","start":1956,"end":1966,"appendix":[]}],"type":"expression","start":1956,"end":1965}]},{"type":"dot","name":"equals"},{"type":"call","expression":[{"terms":[{"type":"constant","name":"collection.getField","start":1975,"end":2000,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"string","value":"id","start":1995,"end":1999,"appendix":[]}],"type":"expression","start":1995,"end":1998}]}]}],"type":"expression","start":1975,"end":1999}]},{"type":"dot","name":"and"},{"type":"call","expression":[]},{"type":"dot","name":"where"},{"type":"call","expression":[{"terms":[{"type":"constant","name":"this.fieldName","start":2024,"end":2038,"appendix":[]}],"type":"expression","start":2024,"end":2037}]},{"type":"dot","name":"equals"},{"type":"call","expression":[{"terms":[{"type":"constant","name":"itemId","start":2047,"end":2053,"appendix":[]}],"type":"expression","start":2047,"end":2052}]}]}],"type":"expression","start":1933,"end":2053},"start":1914,"end":2054},{"terms":[{"type":"constant","name":"select.run","start":2063,"end":2948,"appendix":[{"type":"call","expression":[{"terms":[{"type":"function","output":{"name":"void","reference":0,"start":2074,"end":2078,"template":false},"parameters":[{"type":{"name":"string","reference":0,"start":2080,"end":2086,"template":false},"doc":[],"name":"err","optional":[]},{"type":{"name":"array","reference":0,"start":2092,"end":2102,"template":[{"name":"map","reference":0,"start":2093,"end":2096,"template":false}]},"doc":[],"name":"datas","optional":[]}],"body":{"type":"block","code":[{"type":"if","alternatives":[],"check":{"type":"group","expression":{"terms":[{"operator":"==","term":{"type":"constant","name":"err","start":2124,"end":2127,"appendix":[]}},{"type":"constant","name":"null","start":2131,"end":2135,"appendix":[]}],"type":"expression","start":2124,"end":2134}},"body":{"type":"block","code":[{"type":"if","alternatives":[{"type":"else","body":{"type":"block","code":[{"type":"define","name":"curId","valueType":{"name":"int","reference":0,"start":2361,"end":2364,"template":false},"value":{"terms":[{"type":"constant","name":"collection.getField","start":2373,"end":2412,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"that.listFieldName","start":2393,"end":2411,"appendix":[]}],"type":"expression","start":2393,"end":2410}]}]}],"type":"expression","start":2373,"end":2411},"start":2357,"end":2412},{"terms":[{"type":"constant","name":"list.into","start":2421,"end":2622,"appendix":[{"type":"call","expression":[]},{"type":"dot","name":"set"},{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"string","value":"arrayIndex","start":2446,"end":2458,"appendix":[]}],"type":"expression","start":2446,"end":2457},{"terms":[{"operator":"+","term":{"type":"constant","name":"curId","start":2460,"end":2465,"appendix":[]}},{"type":"literal","literalType":"number","value":1,"integer":true,"start":2468,"end":2469,"appendix":[]}],"type":"expression","start":2459,"end":2468}]},{"type":"dot","name":"set"},{"type":"call","expression":[{"terms":[{"type":"constant","name":"that.fieldName","start":2484,"end":2498,"appendix":[]}],"type":"expression","start":2484,"end":2497},{"terms":[{"type":"constant","name":"itemId","start":2500,"end":2506,"appendix":[]}],"type":"expression","start":2499,"end":2505}]},{"type":"dot","name":"set"},{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"string","value":"parentId","start":2521,"end":2531,"appendix":[]}],"type":"expression","start":2521,"end":2530},{"terms":[{"type":"constant","name":"collection.getField","start":2533,"end":2558,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"string","value":"id","start":2553,"end":2557,"appendix":[]}],"type":"expression","start":2553,"end":2556}]}]}],"type":"expression","start":2532,"end":2557}]},{"type":"dot","name":"run"},{"type":"call","expression":[{"terms":[{"type":"function","output":{"name":"void","reference":0,"start":2573,"end":2577,"template":false},"parameters":[{"type":{"name":"string","reference":0,"start":2579,"end":2585,"template":false},"doc":[],"name":"addErr","optional":[]},{"type":{"name":"int","reference":0,"start":2594,"end":2597,"template":false},"doc":[],"name":"newId","optional":[]}],"body":{"type":"block","code":[],"start":2608,"end":2620}}],"type":"expression","start":2573,"end":2620}]}]}],"type":"expression","start":2413,"end":2622},{"type":"define","name":"containerCast","valueType":{"name":"Websom.Containers.Table","reference":0,"start":2635,"end":2658,"template":false},"value":{"terms":[{"type":"constant","name":"collection.websomContainer","start":2675,"end":2701,"appendix":[]}],"type":"expression","start":2675,"end":2700},"start":2623,"end":2701},{"terms":[{"type":"constant","name":"containerCast.from","start":2718,"end":2925,"appendix":[{"type":"call","expression":[]},{"type":"dot","name":"where"},{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"string","value":"id","start":2754,"end":2758,"appendix":[]}],"type":"expression","start":2754,"end":2757}]},{"type":"dot","name":"equals"},{"type":"call","expression":[{"terms":[{"type":"constant","name":"collection.getField","start":2767,"end":2792,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"string","value":"id","start":2787,"end":2791,"appendix":[]}],"type":"expression","start":2787,"end":2790}]}]}],"type":"expression","start":2767,"end":2791}]},{"type":"dot","name":"set"},{"type":"call","expression":[{"terms":[{"type":"constant","name":"that.listFieldName","start":2807,"end":2825,"appendix":[]}],"type":"expression","start":2807,"end":2824},{"terms":[{"operator":"+","term":{"type":"constant","name":"curId","start":2827,"end":2832,"appendix":[]}},{"type":"literal","literalType":"number","value":1,"integer":true,"start":2835,"end":2836,"appendix":[]}],"type":"expression","start":2826,"end":2835}]},{"type":"dot","name":"update"},{"type":"call","expression":[]},{"type":"dot","name":"run"},{"type":"call","expression":[{"terms":[{"type":"function","output":{"name":"void","reference":0,"start":2869,"end":2873,"template":false},"parameters":[{"type":{"name":"string","reference":0,"start":2875,"end":2881,"template":false},"doc":[],"name":"upErr","optional":[]},{"type":{"name":"array","reference":0,"start":2889,"end":2899,"template":[{"name":"map","reference":0,"start":2890,"end":2893,"template":false}]},"doc":[],"name":"upData","optional":[]}],"body":{"type":"block","code":[],"start":2911,"end":2923}}],"type":"expression","start":2869,"end":2923}]}]}],"type":"expression","start":2702,"end":2925}],"start":2308,"end":2933}}],"check":{"type":"group","expression":{"terms":[{"operator":">","term":{"type":"constant","name":"datas.length","start":2149,"end":2161,"appendix":[]}},{"type":"literal","literalType":"number","value":0,"integer":true,"start":2164,"end":2165,"appendix":[]}],"type":"expression","start":2149,"end":2164}},"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"select.delete","start":2218,"end":2295,"appendix":[{"type":"call","expression":[]},{"type":"dot","name":"run"},{"type":"call","expression":[{"terms":[{"type":"function","output":{"name":"void","reference":0,"start":2238,"end":2242,"template":false},"parameters":[{"type":{"name":"string","reference":0,"start":2244,"end":2250,"template":false},"doc":[],"name":"delErr","optional":[]},{"type":{"name":"array","reference":0,"start":2259,"end":2269,"template":[{"name":"map","reference":0,"start":2260,"end":2263,"template":false}]},"doc":[],"name":"delData","optional":[]}],"body":{"type":"block","code":[],"start":2282,"end":2293}}],"type":"expression","start":2238,"end":2293}]}]}],"type":"expression","start":2218,"end":2295}],"start":2167,"end":2303},"start":2145,"end":2933}],"start":2137,"end":2940},"start":2120,"end":2945}],"start":2113,"end":2946}}],"type":"expression","start":2074,"end":2946}]}]}],"type":"expression","start":2055,"end":2948}],"start":1764,"end":2952}},"output":{"name":"void","template":[]},"flags":["trust"],"templates":[],"start":1700,"doc":[],"end":2952},{"type":"method","name":"use","value":{"type":"method","parameters":[{"type":{"name":"Websom.InputChain","reference":0,"start":2976,"end":2993,"template":false},"doc":[],"name":"ic","optional":[]}],"body":{"type":"block","code":[{"type":"define","name":"that","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"this","start":3014,"end":3018,"appendix":[]}],"type":"expression","start":3014,"end":3017},"start":3003,"end":3018},{"terms":[{"type":"constant","name":"ic.key","start":3025,"end":3666,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"string","value":"collection","start":3032,"end":3044,"appendix":[]}],"type":"expression","start":3032,"end":3043}]},{"type":"dot","name":"is"},{"type":"call","expression":[{"terms":[{"type":"constant","name":"this.collection","start":3054,"end":3069,"appendix":[]}],"type":"expression","start":3054,"end":3068}]},{"type":"dot","name":"key"},{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"string","value":"item","start":3079,"end":3085,"appendix":[]}],"type":"expression","start":3079,"end":3084}]},{"type":"dot","name":"is"},{"type":"call","expression":[{"terms":[{"type":"constant","name":"this.item","start":3095,"end":3104,"appendix":[]}],"type":"expression","start":3095,"end":3103}]},{"type":"dot","name":"success"},{"type":"call","expression":[{"terms":[{"type":"function","output":{"name":"void","reference":0,"start":3118,"end":3122,"template":false},"parameters":[{"type":{"name":"Websom.Input","reference":0,"start":3124,"end":3136,"template":false},"doc":[],"name":"input","optional":[]},{"type":{"name":"map","reference":0,"start":3144,"end":3147,"template":false},"doc":[],"name":"data","optional":[]}],"body":{"type":"block","code":[{"type":"if","alternatives":[{"type":"else","body":{"type":"block","code":[{"type":"define","name":"collection","valueType":{"name":"Websom.Data","reference":0,"start":3533,"end":3544,"template":false},"value":{"terms":[{"type":"constant","name":"data","start":3558,"end":3576,"appendix":[{"type":"index","expression":{"terms":[{"type":"literal","literalType":"string","value":"collection","start":3563,"end":3575,"appendix":[]}],"type":"expression","start":3563,"end":3574}}]}],"type":"expression","start":3558,"end":3575},"start":3529,"end":3576},{"type":"define","name":"item","valueType":{"name":"Websom.Data","reference":0,"start":3587,"end":3598,"template":false},"value":{"terms":[{"type":"constant","name":"data","start":3606,"end":3618,"appendix":[{"type":"index","expression":{"terms":[{"type":"literal","literalType":"string","value":"item","start":3611,"end":3617,"appendix":[]}],"type":"expression","start":3611,"end":3616}}]}],"type":"expression","start":3606,"end":3617},"start":3577,"end":3618},{"terms":[{"type":"constant","name":"that.addTo","start":3625,"end":3653,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"collection","start":3636,"end":3646,"appendix":[]}],"type":"expression","start":3636,"end":3645},{"terms":[{"type":"constant","name":"item","start":3648,"end":3652,"appendix":[]}],"type":"expression","start":3647,"end":3651}]}]}],"type":"expression","start":3619,"end":3653}],"start":3522,"end":3659}}],"check":{"type":"group","expression":{"terms":[{"operator":"!=","term":{"type":"constant","name":"that.check","start":3167,"end":3177,"appendix":[]}},{"type":"constant","name":"null","start":3181,"end":3185,"appendix":[]}],"type":"expression","start":3167,"end":3184}},"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"that.check","start":3194,"end":3511,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"input.request","start":3205,"end":3218,"appendix":[]}],"type":"expression","start":3205,"end":3217},{"terms":[{"type":"constant","name":"data","start":3220,"end":3238,"appendix":[{"type":"index","expression":{"terms":[{"type":"literal","literalType":"string","value":"collection","start":3225,"end":3237,"appendix":[]}],"type":"expression","start":3225,"end":3236}}]}],"type":"expression","start":3219,"end":3237},{"terms":[{"type":"constant","name":"data","start":3240,"end":3252,"appendix":[{"type":"index","expression":{"terms":[{"type":"literal","literalType":"string","value":"item","start":3245,"end":3251,"appendix":[]}],"type":"expression","start":3245,"end":3250}}]}],"type":"expression","start":3239,"end":3251},{"terms":[{"type":"function","output":{"name":"void","reference":0,"start":3254,"end":3258,"template":false},"parameters":[{"type":{"name":"bool","reference":0,"start":3260,"end":3264,"template":false},"doc":[],"name":"shouldContinue","optional":[]}],"body":{"type":"block","code":[{"type":"if","alternatives":[{"type":"else","body":{"type":"block","code":[{"terms":[{"type":"constant","name":"input.sendError","start":3470,"end":3502,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"string","value":"Invalid input","start":3486,"end":3501,"appendix":[]}],"type":"expression","start":3486,"end":3500}]}]}],"type":"expression","start":3470,"end":3502}],"start":3470,"end":3502}}],"check":{"type":"group","expression":{"terms":[{"type":"constant","name":"shouldContinue","start":3296,"end":3310,"appendix":[]}],"type":"expression","start":3296,"end":3309}},"body":{"type":"block","code":[{"type":"define","name":"collection","valueType":{"name":"Websom.Data","reference":0,"start":3325,"end":3336,"template":false},"value":{"terms":[{"type":"constant","name":"data","start":3350,"end":3368,"appendix":[{"type":"index","expression":{"terms":[{"type":"literal","literalType":"string","value":"collection","start":3355,"end":3367,"appendix":[]}],"type":"expression","start":3355,"end":3366}}]}],"type":"expression","start":3350,"end":3367},"start":3321,"end":3368},{"type":"define","name":"item","valueType":{"name":"Websom.Data","reference":0,"start":3381,"end":3392,"template":false},"value":{"terms":[{"type":"constant","name":"data","start":3400,"end":3412,"appendix":[{"type":"index","expression":{"terms":[{"type":"literal","literalType":"string","value":"item","start":3405,"end":3411,"appendix":[]}],"type":"expression","start":3405,"end":3410}}]}],"type":"expression","start":3400,"end":3411},"start":3369,"end":3412},{"terms":[{"type":"constant","name":"that.addTo","start":3421,"end":3449,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"collection","start":3432,"end":3442,"appendix":[]}],"type":"expression","start":3432,"end":3441},{"terms":[{"type":"constant","name":"item","start":3444,"end":3448,"appendix":[]}],"type":"expression","start":3443,"end":3447}]}]}],"type":"expression","start":3413,"end":3449}],"start":3312,"end":3457},"start":3292,"end":3502}],"start":3284,"end":3509}}],"type":"expression","start":3253,"end":3509}]}]}],"type":"expression","start":3194,"end":3511}],"start":3187,"end":3517},"start":3163,"end":3659}],"start":3157,"end":3664}}],"type":"expression","start":3118,"end":3664}]}]}],"type":"expression","start":3019,"end":3666}],"start":2998,"end":3670}},"output":{"name":"void","template":[]},"flags":["override"],"templates":[],"start":2953,"doc":[],"end":3670}],"inherits":{"types":[{"name":"Websom.MessageControl","reference":0,"start":120,"end":141,"template":false}]},"templates":[],"start":0,"end":3673}},{"type": "class", "base": "class", "flags": ["header"], "templates": [], "route": "Websom.Controls.File", "name": "File", "inherits": ["Websom.Control","everything"], "members": [{"type": "property", "binding": "bound", "name": "keyName",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "maxSize",  "output": {"name": "uint64", "template": []}},{"type": "property", "binding": "bound", "name": "validateHook",  "output": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.Input", "template": []}, {"name": "array", "template": [{"name": "Websom.File", "template": []}]}, {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.InputValidation", "template": []}]}]}},{"type": "property", "binding": "bound", "name": "successHook",  "output": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "bool", "template": []}, {"name": "Websom.Input", "template": []}, {"name": "Websom.Data", "template": []}, {"name": "array", "template": [{"name": "Websom.File", "template": []}]}]}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "keyName", "type": {"name": "string", "template": []}},{"optional": "false", "name": "maxSize", "type": {"name": "uint64", "template": []}},{"optional": "false", "name": "validate", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.Input", "template": []}, {"name": "array", "template": [{"name": "Websom.File", "template": []}]}, {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.InputValidation", "template": []}]}]}},{"optional": "false", "name": "success", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "bool", "template": []}, {"name": "Websom.Input", "template": []}, {"name": "Websom.Data", "template": []}, {"name": "array", "template": [{"name": "Websom.File", "template": []}]}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "validate",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.InputValidation", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "fill",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "raw", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "insert", "flags": ["override", "trust"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "data", "type": {"name": "Websom.Data", "template": []}},{"optional": "false", "name": "key", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "update", "flags": ["override", "trust"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "data", "type": {"name": "Websom.Data", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "filter",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "select", "type": {"name": "Websom.DatabaseSelect", "template": []}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.InputValidation", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "property", "binding": "bound", "name": "container",  "output": {"name": "Websom.Container", "template": []}},{"type": "method", "binding": "bound", "name": "message",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "name", "type": {"name": "string", "template": []}},{"optional": "false", "name": "data", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"optional": "false", "name": "send", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "map", "template": [{"name": "primitive", "template": []}]}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "use",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "inputChain", "type": {"name": "Websom.InputChain", "template": []}}], "isImplicitAsync": false, "isAsync": false}], "raw": {"type":"class","doc":[],"flags":["header"],"name":"Websom.Controls.File","members":[{"type":"property","name":"keyName","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":72,"end":74,"appendix":[]}],"type":"expression","start":72,"end":73}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":55,"doc":[],"end":74},{"type":"property","name":"maxSize","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"number","value":0,"integer":true,"start":95,"end":96,"appendix":[]}],"type":"expression","start":95,"end":95}},"output":{"name":"uint64","template":[]},"flags":[],"templates":[],"start":75,"doc":[],"end":96},{"type":"property","doc":[],"output":{"name":"function","reference":0,"start":102,"end":190,"template":[{"name":"void","reference":0,"start":103,"end":107,"template":false},{"name":"Websom.Input","reference":0,"start":108,"end":121,"template":false},{"name":"array","reference":0,"start":122,"end":141,"template":[{"name":"Websom.File","reference":0,"start":124,"end":135,"template":false}]},{"name":"function","reference":0,"start":142,"end":181,"template":[{"name":"void","reference":0,"start":144,"end":148,"template":false},{"name":"Websom.InputValidation","reference":0,"start":149,"end":172,"template":false}]}]},"name":"validateHook","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":206,"end":210,"appendix":[]}],"type":"expression","start":206,"end":209}},"flags":[],"templates":[],"start":97,"end":210},{"type":"property","doc":[],"output":{"name":"function","reference":0,"start":214,"end":281,"template":[{"name":"void","reference":0,"start":215,"end":219,"template":false},{"name":"bool","reference":0,"start":220,"end":225,"template":false},{"name":"Websom.Input","reference":0,"start":226,"end":239,"template":false},{"name":"Websom.Data","reference":0,"start":240,"end":252,"template":false},{"name":"array","reference":0,"start":253,"end":272,"template":[{"name":"Websom.File","reference":0,"start":255,"end":266,"template":false}]}]},"name":"successHook","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":296,"end":300,"appendix":[]}],"type":"expression","start":296,"end":299}},"flags":[],"templates":[],"start":211,"end":300},{"type":"method","name":"@construct","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":322,"end":328,"template":false},"doc":[],"name":"keyName","optional":[]},{"type":{"name":"uint64","reference":0,"start":338,"end":344,"template":false},"doc":[],"name":"maxSize","optional":[]},{"type":{"name":"function","reference":0,"start":354,"end":442,"template":[{"name":"void","reference":0,"start":355,"end":359,"template":false},{"name":"Websom.Input","reference":0,"start":360,"end":373,"template":false},{"name":"array","reference":0,"start":374,"end":393,"template":[{"name":"Websom.File","reference":0,"start":376,"end":387,"template":false}]},{"name":"function","reference":0,"start":394,"end":433,"template":[{"name":"void","reference":0,"start":396,"end":400,"template":false},{"name":"Websom.InputValidation","reference":0,"start":401,"end":424,"template":false}]}]},"doc":[],"name":"validate","optional":[]},{"type":{"name":"function","reference":0,"start":453,"end":520,"template":[{"name":"void","reference":0,"start":454,"end":458,"template":false},{"name":"bool","reference":0,"start":459,"end":464,"template":false},{"name":"Websom.Input","reference":0,"start":465,"end":478,"template":false},{"name":"Websom.Data","reference":0,"start":479,"end":491,"template":false},{"name":"array","reference":0,"start":492,"end":511,"template":[{"name":"Websom.File","reference":0,"start":494,"end":505,"template":false}]}]},"doc":[],"name":"success","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.keyName","start":535,"end":547,"appendix":[]}},{"type":"constant","name":"keyName","start":550,"end":557,"appendix":[]}],"type":"expression","start":535,"end":557},{"terms":[{"operator":"=","term":{"type":"constant","name":"this.maxSize","start":562,"end":574,"appendix":[]}},{"type":"constant","name":"maxSize","start":577,"end":584,"appendix":[]}],"type":"expression","start":558,"end":584},{"terms":[{"operator":"=","term":{"type":"constant","name":"this.validateHook","start":591,"end":608,"appendix":[]}},{"type":"constant","name":"validate","start":611,"end":619,"appendix":[]}],"type":"expression","start":585,"end":619},{"terms":[{"operator":"=","term":{"type":"constant","name":"this.successHook","start":624,"end":640,"appendix":[]}},{"type":"constant","name":"success","start":643,"end":650,"appendix":[]}],"type":"expression","start":620,"end":650}],"start":530,"end":654}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":301,"doc":[],"end":654},{"type":"method","name":"validate","value":{"type":"method","parameters":[{"type":{"name":"Websom.Input","reference":0,"start":674,"end":686,"template":false},"doc":[],"name":"input","optional":[]},{"type":{"name":"function","reference":0,"start":694,"end":732,"template":[{"name":"void","reference":0,"start":695,"end":699,"template":false},{"name":"Websom.InputValidation","reference":0,"start":700,"end":723,"template":false}]},"doc":[],"name":"done","optional":[]}],"body":{"type":"block","code":[{"type":"if","alternatives":[{"type":"else","body":{"type":"block","code":[{"terms":[{"type":"constant","name":"done","start":1337,"end":1412,"appendix":[{"type":"call","expression":[{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.InputValidation","start":1346,"end":1411,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"boolean","value":true,"start":1369,"end":1373,"appendix":[]}],"type":"expression","start":1369,"end":1372},{"terms":[{"operator":"+","term":{"type":"literal","literalType":"string","value":"No file for field ","start":1375,"end":1395,"appendix":[]}},{"type":"constant","name":"this.keyName","start":1398,"end":1410,"appendix":[]}],"type":"expression","start":1374,"end":1409}]}]}],"type":"expression","start":1346,"end":1410},"start":1342,"end":1411,"appendix":[]}],"type":"expression","start":1342,"end":1410}]}]}],"type":"expression","start":1337,"end":1412}],"start":1331,"end":1417}}],"check":{"type":"group","expression":{"terms":[{"type":"constant","name":"input.files.hasKey","start":748,"end":780,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"this.keyName","start":767,"end":779,"appendix":[]}],"type":"expression","start":767,"end":778}]}]}],"type":"expression","start":748,"end":779}},"body":{"type":"block","code":[{"type":"for","in":true,"define":{"type":"define","name":"i","end":801,"start":793,"valueType":{"name":"int","reference":0,"start":797,"end":800,"template":false}},"iterate":{"terms":[{"type":"constant","name":"input.files","start":806,"end":831,"appendix":[{"type":"index","expression":{"terms":[{"type":"constant","name":"this.keyName","start":818,"end":830,"appendix":[]}],"type":"expression","start":818,"end":829}}]}],"type":"expression","start":805,"end":830},"body":{"type":"block","code":[{"type":"define","name":"file","valueType":{"name":"Websom.File","reference":0,"start":844,"end":855,"template":false},"value":{"terms":[{"type":"constant","name":"input.files","start":863,"end":888,"appendix":[{"type":"index","expression":{"terms":[{"type":"constant","name":"this.keyName","start":875,"end":887,"appendix":[]}],"type":"expression","start":875,"end":886}}]}],"type":"expression","start":863,"end":887},"start":840,"end":888},{"type":"if","alternatives":[],"check":{"type":"group","expression":{"terms":[{"operator":">","term":{"type":"constant","name":"file.size","start":899,"end":908,"appendix":[]}},{"type":"constant","name":"this.maxSize","start":911,"end":923,"appendix":[]}],"type":"expression","start":899,"end":922}},"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"done","start":933,"end":1028,"appendix":[{"type":"call","expression":[{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.InputValidation","start":942,"end":1027,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"boolean","value":true,"start":965,"end":969,"appendix":[]}],"type":"expression","start":965,"end":968},{"terms":[{"operator":"+","term":{"type":"literal","literalType":"string","value":"File exceeds limit of ","start":971,"end":995,"appendix":[]}},{"operator":"+","term":{"type":"group","expression":{"terms":[{"operator":"/","term":{"type":"constant","name":"this.maxSize","start":999,"end":1011,"appendix":[]}},{"type":"literal","literalType":"number","value":1024,"integer":true,"start":1014,"end":1018,"appendix":[]}],"type":"expression","start":999,"end":1017},"start":998,"end":1019,"appendix":[]}},{"type":"literal","literalType":"string","value":"kb","start":1022,"end":1026,"appendix":[]}],"type":"expression","start":970,"end":1025}]}]}],"type":"expression","start":942,"end":1026},"start":938,"end":1027,"appendix":[]}],"type":"expression","start":938,"end":1026}]}]}],"type":"expression","start":933,"end":1028},{"type":"return","expression":{"terms":[{"type":"constant","name":"null","start":1043,"end":1047,"appendix":[]}],"type":"expression","start":1043,"end":1046},"start":1029,"end":1047}],"start":925,"end":1054},"start":889,"end":1059}],"start":833,"end":1060},"mode":"in","start":788,"end":1060},{"terms":[{"type":"constant","name":"this.validateHook","start":1068,"end":1321,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"input","start":1086,"end":1091,"appendix":[]}],"type":"expression","start":1086,"end":1090},{"terms":[{"type":"constant","name":"input.files","start":1093,"end":1118,"appendix":[{"type":"index","expression":{"terms":[{"type":"constant","name":"this.keyName","start":1105,"end":1117,"appendix":[]}],"type":"expression","start":1105,"end":1116}}]}],"type":"expression","start":1092,"end":1117},{"terms":[{"type":"function","output":{"name":"void","reference":0,"start":1120,"end":1124,"template":false},"parameters":[{"type":{"name":"Websom.InputValidation","reference":0,"start":1126,"end":1148,"template":false},"doc":[],"name":"validation","optional":[]}],"body":{"type":"block","code":[{"type":"if","alternatives":[{"type":"else","body":{"type":"block","code":[{"terms":[{"type":"constant","name":"done","start":1263,"end":1306,"appendix":[{"type":"call","expression":[{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.InputValidation","start":1272,"end":1305,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"boolean","value":false,"start":1295,"end":1300,"appendix":[]}],"type":"expression","start":1295,"end":1299},{"terms":[{"type":"literal","literalType":"string","value":"","start":1302,"end":1304,"appendix":[]}],"type":"expression","start":1301,"end":1303}]}]}],"type":"expression","start":1272,"end":1304},"start":1268,"end":1305,"appendix":[]}],"type":"expression","start":1268,"end":1304}]}]}],"type":"expression","start":1263,"end":1306}],"start":1255,"end":1313}}],"check":{"type":"group","expression":{"terms":[{"operator":"!=","term":{"type":"constant","name":"validation","start":1175,"end":1185,"appendix":[]}},{"operator":"and","term":{"type":"constant","name":"null","start":1189,"end":1193,"appendix":[]}},{"type":"constant","name":"validation.hadError","start":1198,"end":1217,"appendix":[]}],"type":"expression","start":1175,"end":1216}},"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"done","start":1227,"end":1243,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"validation","start":1232,"end":1242,"appendix":[]}],"type":"expression","start":1232,"end":1241}]}]}],"type":"expression","start":1227,"end":1243}],"start":1219,"end":1250},"start":1171,"end":1313}],"start":1164,"end":1319}}],"type":"expression","start":1119,"end":1319}]}]}],"type":"expression","start":1061,"end":1321}],"start":782,"end":1326},"start":744,"end":1417}],"start":739,"end":1421}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":655,"doc":[],"end":1421},{"type":"method","name":"fill","value":{"type":"method","parameters":[{"type":{"name":"Websom.Input","reference":0,"start":1437,"end":1449,"template":false},"doc":[],"name":"input","optional":[]},{"type":{"name":"map","reference":0,"start":1457,"end":1460,"template":false},"doc":[],"name":"raw","optional":[]},{"type":{"name":"function","reference":0,"start":1466,"end":1480,"template":[{"name":"void","reference":0,"start":1467,"end":1471,"template":false}]},"doc":[],"name":"done","optional":[]}],"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"done","start":1492,"end":1498,"appendix":[{"type":"call","expression":[]}]}],"type":"expression","start":1492,"end":1498}],"start":1487,"end":1502}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":1422,"doc":[],"end":1502},{"type":"method","name":"insert","value":{"type":"method","parameters":[{"type":{"name":"Websom.Input","reference":0,"start":1535,"end":1547,"template":false},"doc":[],"name":"input","optional":[]},{"type":{"name":"Websom.Data","reference":0,"start":1555,"end":1566,"template":false},"doc":[],"name":"data","optional":[]},{"type":{"name":"primitive","reference":0,"start":1573,"end":1582,"template":false},"doc":[],"name":"key","optional":[]}],"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"this.successHook","start":1593,"end":1655,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"boolean","value":true,"start":1610,"end":1614,"appendix":[]}],"type":"expression","start":1610,"end":1613},{"terms":[{"type":"constant","name":"input","start":1616,"end":1621,"appendix":[]}],"type":"expression","start":1615,"end":1620},{"terms":[{"type":"constant","name":"data","start":1623,"end":1627,"appendix":[]}],"type":"expression","start":1622,"end":1626},{"terms":[{"type":"constant","name":"input.files","start":1629,"end":1654,"appendix":[{"type":"index","expression":{"terms":[{"type":"constant","name":"this.keyName","start":1641,"end":1653,"appendix":[]}],"type":"expression","start":1641,"end":1652}}]}],"type":"expression","start":1628,"end":1653}]}]}],"type":"expression","start":1593,"end":1655}],"start":1588,"end":1659}},"output":{"name":"void","template":[]},"flags":["trust","override"],"templates":[],"start":1503,"doc":[],"end":1659},{"type":"method","name":"update","value":{"type":"method","parameters":[{"type":{"name":"Websom.Input","reference":0,"start":1692,"end":1704,"template":false},"doc":[],"name":"input","optional":[]},{"type":{"name":"Websom.Data","reference":0,"start":1712,"end":1723,"template":false},"doc":[],"name":"data","optional":[]}],"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"this.successHook","start":1735,"end":1798,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"boolean","value":false,"start":1752,"end":1757,"appendix":[]}],"type":"expression","start":1752,"end":1756},{"terms":[{"type":"constant","name":"input","start":1759,"end":1764,"appendix":[]}],"type":"expression","start":1758,"end":1763},{"terms":[{"type":"constant","name":"data","start":1766,"end":1770,"appendix":[]}],"type":"expression","start":1765,"end":1769},{"terms":[{"type":"constant","name":"input.files","start":1772,"end":1797,"appendix":[{"type":"index","expression":{"terms":[{"type":"constant","name":"this.keyName","start":1784,"end":1796,"appendix":[]}],"type":"expression","start":1784,"end":1795}}]}],"type":"expression","start":1771,"end":1796}]}]}],"type":"expression","start":1735,"end":1798}],"start":1730,"end":1802}},"output":{"name":"void","template":[]},"flags":["trust","override"],"templates":[],"start":1660,"doc":[],"end":1802},{"type":"method","name":"filter","value":{"type":"method","parameters":[{"type":{"name":"Websom.Input","reference":0,"start":1820,"end":1832,"template":false},"doc":[],"name":"input","optional":[]},{"type":{"name":"Websom.DatabaseSelect","reference":0,"start":1840,"end":1861,"template":false},"doc":[],"name":"select","optional":[]},{"type":{"name":"function","reference":0,"start":1870,"end":1908,"template":[{"name":"void","reference":0,"start":1871,"end":1875,"template":false},{"name":"Websom.InputValidation","reference":0,"start":1876,"end":1899,"template":false}]},"doc":[],"name":"done","optional":[]}],"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"done","start":1920,"end":1963,"appendix":[{"type":"call","expression":[{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.InputValidation","start":1929,"end":1962,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"boolean","value":false,"start":1952,"end":1957,"appendix":[]}],"type":"expression","start":1952,"end":1956},{"terms":[{"type":"literal","literalType":"string","value":"","start":1959,"end":1961,"appendix":[]}],"type":"expression","start":1958,"end":1960}]}]}],"type":"expression","start":1929,"end":1961},"start":1925,"end":1962,"appendix":[]}],"type":"expression","start":1925,"end":1961}]}]}],"type":"expression","start":1920,"end":1963}],"start":1915,"end":1967}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":1803,"doc":[],"end":1967}],"inherits":{"types":[{"name":"Websom.Control","reference":0,"start":36,"end":50,"template":false}]},"templates":[],"start":0,"end":1970}},{"type": "class", "base": "class", "flags": ["header"], "templates": [], "route": "Websom.Controls.Unique", "name": "Unique", "inherits": ["Websom.FieldControl","everything"], "members": [{"type": "method", "binding": "bound", "name": "validateField", "flags": ["override"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.InputValidation", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "property", "binding": "bound", "name": "required",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "name",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "field",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "logic",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "fieldInfo",  "output": {"name": "Websom.FieldInfo", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "string", "template": []}},{"optional": "false", "name": "logic", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "name", "type": {"name": "string", "template": []}},{"optional": "false", "name": "field", "type": {"name": "string", "template": []}},{"optional": "false", "name": "fieldInfo", "type": {"name": "Websom.FieldInfo", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "validate",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.InputValidation", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "fill",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "values", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "filter",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "select", "type": {"name": "Websom.DatabaseSelect", "template": []}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.InputValidation", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "fillField",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}},{"optional": "false", "name": "values", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "filterField",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}},{"optional": "false", "name": "select", "type": {"name": "Websom.DatabaseSelect", "template": []}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.InputValidation", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "property", "binding": "bound", "name": "container",  "output": {"name": "Websom.Container", "template": []}},{"type": "method", "binding": "bound", "name": "insert",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "data", "type": {"name": "Websom.Data", "template": []}},{"optional": "false", "name": "key", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "update",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "data", "type": {"name": "Websom.Data", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "message",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "name", "type": {"name": "string", "template": []}},{"optional": "false", "name": "data", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"optional": "false", "name": "send", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "map", "template": [{"name": "primitive", "template": []}]}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "use",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "inputChain", "type": {"name": "Websom.InputChain", "template": []}}], "isImplicitAsync": false, "isAsync": false}], "raw": {"type":"class","doc":[],"flags":["header"],"name":"Websom.Controls.Unique","members":[{"type":"method","name":"validateField","value":{"type":"method","parameters":[{"type":{"name":"Websom.Input","reference":0,"start":90,"end":102,"template":false},"doc":[],"name":"input","optional":[]},{"type":{"name":"primitive","reference":0,"start":110,"end":119,"template":false},"doc":[],"name":"value","optional":[]},{"type":{"name":"function","reference":0,"start":127,"end":165,"template":[{"name":"void","reference":0,"start":128,"end":132,"template":false},{"name":"Websom.InputValidation","reference":0,"start":133,"end":156,"template":false}]},"doc":[],"name":"done","optional":[]}],"body":{"type":"block","code":[{"type":"define","name":"that","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"this","start":188,"end":192,"appendix":[]}],"type":"expression","start":188,"end":191},"start":177,"end":192},{"type":"define","name":"container","valueType":{"name":"Websom.Containers.Table","reference":0,"start":205,"end":228,"template":false},"value":{"terms":[{"type":"constant","name":"this.container","start":241,"end":255,"appendix":[]}],"type":"expression","start":241,"end":254},"start":193,"end":255},{"terms":[{"type":"constant","name":"container.from","start":264,"end":629,"appendix":[{"type":"call","expression":[]},{"type":"dot","name":"where"},{"type":"call","expression":[{"terms":[{"type":"constant","name":"this.field","start":287,"end":297,"appendix":[]}],"type":"expression","start":287,"end":296}]},{"type":"dot","name":"equals"},{"type":"call","expression":[{"terms":[{"type":"constant","name":"value","start":306,"end":311,"appendix":[]}],"type":"expression","start":306,"end":310}]},{"type":"dot","name":"run"},{"type":"call","expression":[{"terms":[{"type":"function","output":{"name":"void","reference":0,"start":317,"end":321,"template":false},"parameters":[{"type":{"name":"string","reference":0,"start":323,"end":329,"template":false},"doc":[],"name":"err","optional":[]},{"type":{"name":"array","reference":0,"start":335,"end":345,"template":[{"name":"map","reference":0,"start":336,"end":339,"template":false}]},"doc":[],"name":"docs","optional":[]}],"body":{"type":"block","code":[{"type":"if","alternatives":[{"type":"else","body":{"type":"block","code":[{"type":"if","alternatives":[{"type":"else","body":{"type":"block","code":[{"terms":[{"type":"constant","name":"done","start":599,"end":609,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"null","start":604,"end":608,"appendix":[]}],"type":"expression","start":604,"end":607}]}]}],"type":"expression","start":599,"end":609}],"start":591,"end":616}}],"check":{"type":"group","expression":{"terms":[{"operator":">","term":{"type":"constant","name":"docs.length","start":475,"end":486,"appendix":[]}},{"type":"literal","literalType":"number","value":0,"integer":true,"start":489,"end":490,"appendix":[]}],"type":"expression","start":475,"end":489}},"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"done","start":500,"end":579,"appendix":[{"type":"call","expression":[{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.InputValidation","start":509,"end":578,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"boolean","value":true,"start":532,"end":536,"appendix":[]}],"type":"expression","start":532,"end":535},{"terms":[{"operator":"+","term":{"type":"literal","literalType":"string","value":"The ","start":538,"end":544,"appendix":[]}},{"operator":"+","term":{"type":"constant","name":"that.field","start":547,"end":557,"appendix":[]}},{"type":"literal","literalType":"string","value":" must be unique","start":560,"end":577,"appendix":[]}],"type":"expression","start":537,"end":576}]}]}],"type":"expression","start":509,"end":577},"start":505,"end":578,"appendix":[]}],"type":"expression","start":505,"end":577}]}]}],"type":"expression","start":500,"end":579}],"start":492,"end":586},"start":471,"end":616}],"start":464,"end":622}}],"check":{"type":"group","expression":{"terms":[{"operator":"!=","term":{"type":"constant","name":"err","start":365,"end":368,"appendix":[]}},{"type":"constant","name":"null","start":372,"end":376,"appendix":[]}],"type":"expression","start":365,"end":375}},"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"done","start":385,"end":453,"appendix":[{"type":"call","expression":[{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.InputValidation","start":394,"end":452,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"boolean","value":true,"start":417,"end":421,"appendix":[]}],"type":"expression","start":417,"end":420},{"terms":[{"type":"literal","literalType":"string","value":"Unable to complete request","start":423,"end":451,"appendix":[]}],"type":"expression","start":422,"end":450}]}]}],"type":"expression","start":394,"end":451},"start":390,"end":452,"appendix":[]}],"type":"expression","start":390,"end":451}]}]}],"type":"expression","start":385,"end":453}],"start":378,"end":459},"start":361,"end":622}],"start":355,"end":627}}],"type":"expression","start":317,"end":627}]}]}],"type":"expression","start":256,"end":629}],"start":172,"end":633}},"output":{"name":"void","template":[]},"flags":["override"],"templates":[],"start":62,"doc":[],"end":633}],"inherits":{"types":[{"name":"Websom.FieldControl","reference":0,"start":38,"end":57,"template":false}]},"templates":[],"start":0,"end":636}},{"type": "class", "base": "class", "flags": ["header"], "templates": [], "route": "Websom.Controls.String", "name": "String", "inherits": ["Websom.FieldControl","everything"], "members": [{"type": "method", "binding": "bound", "name": "validateField", "flags": ["override"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.InputValidation", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "fillField", "flags": ["override"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}},{"optional": "false", "name": "values", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "filterField", "flags": ["override"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "value", "type": {"name": "float", "template": []}},{"optional": "false", "name": "select", "type": {"name": "Websom.DatabaseSelect", "template": []}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.InputValidation", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "property", "binding": "bound", "name": "required",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "name",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "field",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "logic",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "fieldInfo",  "output": {"name": "Websom.FieldInfo", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "string", "template": []}},{"optional": "false", "name": "logic", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "name", "type": {"name": "string", "template": []}},{"optional": "false", "name": "field", "type": {"name": "string", "template": []}},{"optional": "false", "name": "fieldInfo", "type": {"name": "Websom.FieldInfo", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "validate",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.InputValidation", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "fill",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "values", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "filter",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "select", "type": {"name": "Websom.DatabaseSelect", "template": []}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.InputValidation", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "property", "binding": "bound", "name": "container",  "output": {"name": "Websom.Container", "template": []}},{"type": "method", "binding": "bound", "name": "insert",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "data", "type": {"name": "Websom.Data", "template": []}},{"optional": "false", "name": "key", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "update",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "data", "type": {"name": "Websom.Data", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "message",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "name", "type": {"name": "string", "template": []}},{"optional": "false", "name": "data", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"optional": "false", "name": "send", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "map", "template": [{"name": "primitive", "template": []}]}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "use",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "inputChain", "type": {"name": "Websom.InputChain", "template": []}}], "isImplicitAsync": false, "isAsync": false}], "raw": {"type":"class","doc":[],"flags":["header"],"name":"Websom.Controls.String","members":[{"type":"method","name":"validateField","value":{"type":"method","parameters":[{"type":{"name":"Websom.Input","reference":0,"start":3107,"end":3119,"template":false},"doc":[],"name":"input","optional":[]},{"type":{"name":"primitive","reference":0,"start":3127,"end":3136,"template":false},"doc":[],"name":"value","optional":[]},{"type":{"name":"function","reference":0,"start":3144,"end":3182,"template":[{"name":"void","reference":0,"start":3145,"end":3149,"template":false},{"name":"Websom.InputValidation","reference":0,"start":3150,"end":3173,"template":false}]},"doc":[],"name":"done","optional":[]}],"body":{"type":"block","code":[{"type":"if","alternatives":[{"type":"else","body":{"type":"block","code":[{"terms":[{"type":"constant","name":"done","start":4248,"end":4307,"appendix":[{"type":"call","expression":[{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.InputValidation","start":4257,"end":4306,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"boolean","value":true,"start":4280,"end":4284,"appendix":[]}],"type":"expression","start":4280,"end":4283},{"terms":[{"type":"literal","literalType":"string","value":"Not a string type","start":4286,"end":4305,"appendix":[]}],"type":"expression","start":4285,"end":4304}]}]}],"type":"expression","start":4257,"end":4305},"start":4253,"end":4306,"appendix":[]}],"type":"expression","start":4253,"end":4305}]}]}],"type":"expression","start":4248,"end":4307}],"start":4248,"end":4307}}],"check":{"type":"group","expression":{"terms":[{"operator":"==","term":{"type":"constant","name":"value.typeAsString","start":3198,"end":3218,"appendix":[{"type":"call","expression":[]}]}},{"type":"literal","literalType":"string","value":"string","start":3222,"end":3230,"appendix":[]}],"type":"expression","start":3198,"end":3229}},"body":{"type":"block","code":[{"type":"define","name":"val","valueType":{"name":"string","reference":0,"start":3242,"end":3248,"template":false},"value":{"terms":[{"type":"constant","name":"value","start":3255,"end":3260,"appendix":[]}],"type":"expression","start":3255,"end":3259},"start":3238,"end":3260},{"type":"define","name":"ok","valueType":"","auto":true,"value":{"terms":[{"type":"literal","literalType":"boolean","value":true,"start":3275,"end":3279,"appendix":[]}],"type":"expression","start":3275,"end":3278},"start":3261,"end":3279},{"type":"if","alternatives":[],"check":{"type":"group","expression":{"terms":[{"operator":"in","term":{"type":"literal","literalType":"string","value":"Min","start":3289,"end":3294,"appendix":[]}},{"type":"constant","name":"this.fieldInfo.attributes","start":3298,"end":3323,"appendix":[]}],"type":"expression","start":3289,"end":3322}},"body":{"type":"block","code":[{"type":"define","name":"min","valueType":{"name":"int","reference":0,"start":3336,"end":3339,"template":false},"value":{"terms":[{"type":"constant","name":"this.fieldInfo.attributes","start":3346,"end":3378,"appendix":[{"type":"index","expression":{"terms":[{"type":"literal","literalType":"string","value":"Min","start":3372,"end":3377,"appendix":[]}],"type":"expression","start":3372,"end":3376}}]}],"type":"expression","start":3346,"end":3377},"start":3332,"end":3378},{"type":"if","alternatives":[],"check":{"type":"group","expression":{"terms":[{"operator":"<","term":{"type":"constant","name":"val.length","start":3389,"end":3399,"appendix":[]}},{"type":"constant","name":"min","start":3402,"end":3405,"appendix":[]}],"type":"expression","start":3389,"end":3404}},"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"done","start":3415,"end":3491,"appendix":[{"type":"call","expression":[{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.InputValidation","start":3424,"end":3490,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"boolean","value":true,"start":3447,"end":3451,"appendix":[]}],"type":"expression","start":3447,"end":3450},{"terms":[{"operator":"+","term":{"type":"literal","literalType":"string","value":"Length must be greater than ","start":3453,"end":3483,"appendix":[]}},{"type":"constant","name":"min","start":3486,"end":3489,"appendix":[]}],"type":"expression","start":3452,"end":3488}]}]}],"type":"expression","start":3424,"end":3489},"start":3420,"end":3490,"appendix":[]}],"type":"expression","start":3420,"end":3489}]}]}],"type":"expression","start":3415,"end":3491},{"terms":[{"operator":"=","term":{"type":"constant","name":"ok","start":3499,"end":3501,"appendix":[]}},{"type":"literal","literalType":"boolean","value":false,"start":3504,"end":3509,"appendix":[]}],"type":"expression","start":3492,"end":3509}],"start":3407,"end":3516},"start":3379,"end":3521}],"start":3325,"end":3522},"start":3280,"end":3529},{"type":"if","alternatives":[],"check":{"type":"group","expression":{"terms":[{"operator":"in","term":{"type":"literal","literalType":"string","value":"Length","start":3534,"end":3542,"appendix":[]}},{"type":"constant","name":"this.fieldInfo.attributes","start":3546,"end":3571,"appendix":[]}],"type":"expression","start":3534,"end":3570}},"body":{"type":"block","code":[{"type":"define","name":"max","valueType":{"name":"int","reference":0,"start":3584,"end":3587,"template":false},"value":{"terms":[{"type":"constant","name":"this.fieldInfo.attributes","start":3594,"end":3629,"appendix":[{"type":"index","expression":{"terms":[{"type":"literal","literalType":"string","value":"Length","start":3620,"end":3628,"appendix":[]}],"type":"expression","start":3620,"end":3627}}]}],"type":"expression","start":3594,"end":3628},"start":3580,"end":3629},{"type":"if","alternatives":[],"check":{"type":"group","expression":{"terms":[{"operator":">","term":{"type":"constant","name":"val.length","start":3640,"end":3650,"appendix":[]}},{"type":"constant","name":"max","start":3653,"end":3656,"appendix":[]}],"type":"expression","start":3640,"end":3655}},"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"done","start":3666,"end":3739,"appendix":[{"type":"call","expression":[{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.InputValidation","start":3675,"end":3738,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"boolean","value":true,"start":3698,"end":3702,"appendix":[]}],"type":"expression","start":3698,"end":3701},{"terms":[{"operator":"+","term":{"type":"literal","literalType":"string","value":"Length must be less than ","start":3704,"end":3731,"appendix":[]}},{"type":"constant","name":"max","start":3734,"end":3737,"appendix":[]}],"type":"expression","start":3703,"end":3736}]}]}],"type":"expression","start":3675,"end":3737},"start":3671,"end":3738,"appendix":[]}],"type":"expression","start":3671,"end":3737}]}]}],"type":"expression","start":3666,"end":3739},{"terms":[{"operator":"=","term":{"type":"constant","name":"ok","start":3747,"end":3749,"appendix":[]}},{"type":"literal","literalType":"boolean","value":false,"start":3752,"end":3757,"appendix":[]}],"type":"expression","start":3740,"end":3757}],"start":3658,"end":3764},"start":3630,"end":3769}],"start":3573,"end":3770},"start":3530,"end":3777},{"type":"if","alternatives":[],"check":{"type":"group","expression":{"terms":[{"operator":"in","term":{"type":"literal","literalType":"string","value":"Match","start":3782,"end":3789,"appendix":[]}},{"type":"constant","name":"this.fieldInfo.attributes","start":3793,"end":3818,"appendix":[]}],"type":"expression","start":3782,"end":3817}},"body":{"type":"block","code":[{"type":"define","name":"match","valueType":{"name":"string","reference":0,"start":3831,"end":3837,"template":false},"value":{"terms":[{"type":"constant","name":"this.fieldInfo.attributes","start":3846,"end":3880,"appendix":[{"type":"index","expression":{"terms":[{"type":"literal","literalType":"string","value":"Match","start":3872,"end":3879,"appendix":[]}],"type":"expression","start":3872,"end":3878}}]}],"type":"expression","start":3846,"end":3879},"start":3827,"end":3880},{"type":"if","alternatives":[],"check":{"type":"group","expression":{"terms":[{"operator":"==","term":{"type":"constant","name":"val.test","start":3891,"end":3906,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"match","start":3900,"end":3905,"appendix":[]}],"type":"expression","start":3900,"end":3904}]}]}},{"type":"literal","literalType":"boolean","value":false,"start":3910,"end":3915,"appendix":[]}],"type":"expression","start":3891,"end":3914}},"body":{"type":"block","code":[{"type":"define","name":"err","valueType":"","auto":true,"value":{"terms":[{"operator":"+","term":{"type":"literal","literalType":"string","value":"Value must match ","start":3935,"end":3954,"appendix":[]}},{"type":"constant","name":"match","start":3957,"end":3962,"appendix":[]}],"type":"expression","start":3935,"end":3961},"start":3925,"end":3962},{"type":"if","alternatives":[],"check":{"type":"group","expression":{"terms":[{"operator":"in","term":{"type":"literal","literalType":"string","value":"MatchError","start":3974,"end":3986,"appendix":[]}},{"type":"constant","name":"this.fieldInfo.attributes","start":3990,"end":4015,"appendix":[]}],"type":"expression","start":3974,"end":4014}},"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"err","start":4024,"end":4027,"appendix":[]}},{"type":"constant","name":"this.fieldInfo.attributes","start":4030,"end":4069,"appendix":[{"type":"index","expression":{"terms":[{"type":"literal","literalType":"string","value":"MatchError","start":4056,"end":4068,"appendix":[]}],"type":"expression","start":4056,"end":4067}}]}],"type":"expression","start":4024,"end":4069}],"start":4024,"end":4069},"start":3963,"end":4078},{"terms":[{"type":"constant","name":"done","start":4079,"end":4138,"appendix":[{"type":"call","expression":[{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.InputValidation","start":4088,"end":4137,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"boolean","value":true,"start":4111,"end":4115,"appendix":[]}],"type":"expression","start":4111,"end":4114},{"terms":[{"type":"constant","name":"err","start":4117,"end":4120,"appendix":[]}],"type":"expression","start":4116,"end":4119},{"terms":[{"type":"constant","name":"this.fieldInfo","start":4122,"end":4136,"appendix":[]}],"type":"expression","start":4121,"end":4135}]}]}],"type":"expression","start":4088,"end":4136},"start":4084,"end":4137,"appendix":[]}],"type":"expression","start":4084,"end":4136}]}]}],"type":"expression","start":4079,"end":4138},{"terms":[{"operator":"=","term":{"type":"constant","name":"ok","start":4146,"end":4148,"appendix":[]}},{"type":"literal","literalType":"boolean","value":false,"start":4151,"end":4156,"appendix":[]}],"type":"expression","start":4139,"end":4156}],"start":3917,"end":4163},"start":3881,"end":4168}],"start":3820,"end":4169},"start":3778,"end":4176},{"type":"if","alternatives":[],"check":{"type":"group","expression":{"terms":[{"type":"constant","name":"ok","start":4181,"end":4183,"appendix":[]}],"type":"expression","start":4181,"end":4182}},"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"done","start":4190,"end":4233,"appendix":[{"type":"call","expression":[{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.InputValidation","start":4199,"end":4232,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"boolean","value":false,"start":4222,"end":4227,"appendix":[]}],"type":"expression","start":4222,"end":4226},{"terms":[{"type":"literal","literalType":"string","value":"","start":4229,"end":4231,"appendix":[]}],"type":"expression","start":4228,"end":4230}]}]}],"type":"expression","start":4199,"end":4231},"start":4195,"end":4232,"appendix":[]}],"type":"expression","start":4195,"end":4231}]}]}],"type":"expression","start":4190,"end":4233}],"start":4190,"end":4233},"start":4177,"end":4237}],"start":3232,"end":4238},"start":3194,"end":4307}],"start":3189,"end":4311}},"output":{"name":"void","template":[]},"flags":["override"],"templates":[],"start":3079,"doc":[],"end":4311},{"type":"method","name":"fillField","value":{"type":"method","parameters":[{"type":{"name":"primitive","reference":0,"start":4341,"end":4350,"template":false},"doc":[],"name":"value","optional":[]},{"type":{"name":"map","reference":0,"start":4358,"end":4361,"template":false},"doc":[],"name":"values","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"values","start":4375,"end":4393,"appendix":[{"type":"index","expression":{"terms":[{"type":"constant","name":"this.field","start":4382,"end":4392,"appendix":[]}],"type":"expression","start":4382,"end":4391}}]}},{"type":"constant","name":"value","start":4396,"end":4401,"appendix":[]}],"type":"expression","start":4375,"end":4401}],"start":4370,"end":4405}},"output":{"name":"void","template":[]},"flags":["override"],"templates":[],"start":4312,"doc":[],"end":4405},{"type":"method","name":"filterField","value":{"type":"method","parameters":[{"type":{"name":"float","reference":0,"start":4437,"end":4442,"template":false},"doc":[],"name":"value","optional":[]},{"type":{"name":"Websom.DatabaseSelect","reference":0,"start":4450,"end":4471,"template":false},"doc":[],"name":"select","optional":[]},{"type":{"name":"function","reference":0,"start":4480,"end":4518,"template":[{"name":"void","reference":0,"start":4481,"end":4485,"template":false},{"name":"Websom.InputValidation","reference":0,"start":4486,"end":4509,"template":false}]},"doc":[],"name":"done","optional":[]}],"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"select.where","start":4530,"end":4568,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"this.field","start":4543,"end":4553,"appendix":[]}],"type":"expression","start":4543,"end":4552}]},{"type":"dot","name":"equals"},{"type":"call","expression":[{"terms":[{"type":"constant","name":"value","start":4562,"end":4567,"appendix":[]}],"type":"expression","start":4562,"end":4566}]}]}],"type":"expression","start":4530,"end":4568},{"terms":[{"type":"constant","name":"done","start":4573,"end":4583,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"null","start":4578,"end":4582,"appendix":[]}],"type":"expression","start":4578,"end":4581}]}]}],"type":"expression","start":4569,"end":4583}],"start":4525,"end":4587}},"output":{"name":"void","template":[]},"flags":["override"],"templates":[],"start":4406,"doc":[],"end":4587}],"inherits":{"types":[{"name":"Websom.FieldControl","reference":0,"start":3055,"end":3074,"template":false}]},"templates":[],"start":3013,"end":4590}},{"type": "class", "base": "class", "flags": ["header"], "templates": [], "route": "Websom.Controls.Number", "name": "Number", "inherits": ["Websom.FieldControl","everything"], "members": [{"type": "method", "binding": "bound", "name": "validateField", "flags": ["override"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.InputValidation", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "fillField", "flags": ["override"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}},{"optional": "false", "name": "values", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "filterField", "flags": ["override"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "value", "type": {"name": "float", "template": []}},{"optional": "false", "name": "select", "type": {"name": "Websom.DatabaseSelect", "template": []}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.InputValidation", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "property", "binding": "bound", "name": "required",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "name",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "field",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "logic",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "fieldInfo",  "output": {"name": "Websom.FieldInfo", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "string", "template": []}},{"optional": "false", "name": "logic", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "name", "type": {"name": "string", "template": []}},{"optional": "false", "name": "field", "type": {"name": "string", "template": []}},{"optional": "false", "name": "fieldInfo", "type": {"name": "Websom.FieldInfo", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "validate",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.InputValidation", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "fill",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "values", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "filter",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "select", "type": {"name": "Websom.DatabaseSelect", "template": []}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.InputValidation", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "property", "binding": "bound", "name": "container",  "output": {"name": "Websom.Container", "template": []}},{"type": "method", "binding": "bound", "name": "insert",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "data", "type": {"name": "Websom.Data", "template": []}},{"optional": "false", "name": "key", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "update",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "data", "type": {"name": "Websom.Data", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "message",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "name", "type": {"name": "string", "template": []}},{"optional": "false", "name": "data", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"optional": "false", "name": "send", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "map", "template": [{"name": "primitive", "template": []}]}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "use",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "inputChain", "type": {"name": "Websom.InputChain", "template": []}}], "isImplicitAsync": false, "isAsync": false}], "raw": {"type":"class","doc":[],"flags":["header"],"name":"Websom.Controls.Number","members":[{"type":"method","name":"validateField","value":{"type":"method","parameters":[{"type":{"name":"Websom.Input","reference":0,"start":5439,"end":5451,"template":false},"doc":[],"name":"input","optional":[]},{"type":{"name":"primitive","reference":0,"start":5459,"end":5468,"template":false},"doc":[],"name":"value","optional":[]},{"type":{"name":"function","reference":0,"start":5476,"end":5514,"template":[{"name":"void","reference":0,"start":5477,"end":5481,"template":false},{"name":"Websom.InputValidation","reference":0,"start":5482,"end":5505,"template":false}]},"doc":[],"name":"done","optional":[]}],"body":{"type":"block","code":[{"type":"if","alternatives":[{"type":"else","body":{"type":"block","code":[{"type":"if","alternatives":[{"type":"else","body":{"type":"block","code":[{"terms":[{"type":"constant","name":"done","start":7042,"end":7101,"appendix":[{"type":"call","expression":[{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.InputValidation","start":7051,"end":7100,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"boolean","value":true,"start":7074,"end":7078,"appendix":[]}],"type":"expression","start":7074,"end":7077},{"terms":[{"type":"literal","literalType":"string","value":"Not a number type","start":7080,"end":7099,"appendix":[]}],"type":"expression","start":7079,"end":7098}]}]}],"type":"expression","start":7051,"end":7099},"start":7047,"end":7100,"appendix":[]}],"type":"expression","start":7047,"end":7099}]}]}],"type":"expression","start":7042,"end":7101}],"start":7035,"end":7107}}],"check":{"type":"group","expression":{"terms":[{"type":"constant","name":"this.fieldInfo.structure.hasFlag","start":6205,"end":6247,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"string","value":"linked","start":6238,"end":6246,"appendix":[]}],"type":"expression","start":6238,"end":6245}]}]}],"type":"expression","start":6205,"end":6246}},"body":{"type":"block","code":[{"type":"define","name":"val","valueType":{"name":"array","reference":0,"start":6260,"end":6265,"template":false},"value":{"terms":[{"type":"constant","name":"value","start":6272,"end":6277,"appendix":[]}],"type":"expression","start":6272,"end":6276},"start":6256,"end":6277},{"type":"define","name":"link","valueType":{"name":"Websom.DatabaseFlags.Linked","reference":0,"start":6288,"end":6315,"template":false},"value":{"terms":[{"type":"constant","name":"this.fieldInfo.structure.getFlag","start":6323,"end":6365,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"string","value":"linked","start":6356,"end":6364,"appendix":[]}],"type":"expression","start":6356,"end":6363}]}]}],"type":"expression","start":6323,"end":6364},"start":6278,"end":6365},{"type":"define","name":"subInfo","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"Websom.DataInfo.getDataInfoFromRoute","start":6386,"end":6438,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"link.fieldType","start":6423,"end":6437,"appendix":[]}],"type":"expression","start":6423,"end":6436}]}]}],"type":"expression","start":6386,"end":6437},"start":6366,"end":6438},{"type":"define","name":"dv","valueType":"","auto":true,"value":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.DataValidator","start":6458,"end":6487,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"subInfo","start":6479,"end":6486,"appendix":[]}],"type":"expression","start":6479,"end":6485}]}]}],"type":"expression","start":6458,"end":6486},"start":6454,"end":6487,"appendix":[]}],"type":"expression","start":6454,"end":6486},"start":6439,"end":6487},{"type":"define","name":"valids","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"val.length","start":6507,"end":6517,"appendix":[]}],"type":"expression","start":6507,"end":6516},"start":6488,"end":6517},{"type":"define","name":"firstError","valueType":{"name":"Websom.InputValidation","reference":0,"start":6528,"end":6550,"template":false},"value":{"terms":[{"type":"constant","name":"null","start":6564,"end":6568,"appendix":[]}],"type":"expression","start":6564,"end":6567},"start":6518,"end":6568},{"type":"for","in":true,"define":{"type":"define","name":"i","end":6588,"start":6580,"valueType":{"name":"int","reference":0,"start":6584,"end":6587,"template":false}},"iterate":{"terms":[{"type":"constant","name":"val","start":6593,"end":6596,"appendix":[]}],"type":"expression","start":6592,"end":6595},"body":{"type":"block","code":[{"type":"define","name":"inp","valueType":"","auto":true,"value":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.Input","start":6620,"end":6659,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"string","value":"","start":6633,"end":6635,"appendix":[]}],"type":"expression","start":6633,"end":6634},{"terms":[{"type":"constant","name":"val","start":6637,"end":6643,"appendix":[{"type":"index","expression":{"terms":[{"type":"constant","name":"i","start":6641,"end":6642,"appendix":[]}],"type":"expression","start":6641,"end":6641}}]}],"type":"expression","start":6636,"end":6642},{"terms":[{"type":"constant","name":"input.request","start":6645,"end":6658,"appendix":[]}],"type":"expression","start":6644,"end":6657}]}]}],"type":"expression","start":6620,"end":6658},"start":6616,"end":6659,"appendix":[]}],"type":"expression","start":6616,"end":6658},"start":6606,"end":6659},{"terms":[{"type":"constant","name":"dv.validate","start":6667,"end":7017,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"inp","start":6679,"end":6682,"appendix":[]}],"type":"expression","start":6679,"end":6681},{"terms":[{"type":"function","output":{"name":"void","reference":0,"start":6684,"end":6688,"template":false},"parameters":[{"type":{"name":"Websom.InputValidation","reference":0,"start":6690,"end":6712,"template":false},"doc":[],"name":"validation","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"--","term":{"type":"constant","name":"valids","start":6737,"end":6743,"appendix":[]}}],"type":"expression","start":6737,"end":6745},{"type":"if","alternatives":[],"check":{"type":"group","expression":{"terms":[{"type":"constant","name":"validation.hadError","start":6758,"end":6777,"appendix":[]}],"type":"expression","start":6758,"end":6776}},"body":{"type":"block","code":[{"type":"if","alternatives":[],"check":{"type":"group","expression":{"terms":[{"operator":"==","term":{"type":"constant","name":"firstError","start":6791,"end":6801,"appendix":[]}},{"type":"constant","name":"null","start":6805,"end":6809,"appendix":[]}],"type":"expression","start":6791,"end":6808}},"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"firstError","start":6820,"end":6830,"appendix":[]}},{"type":"constant","name":"validation","start":6833,"end":6843,"appendix":[]}],"type":"expression","start":6820,"end":6843}],"start":6820,"end":6843},"start":6787,"end":6851}],"start":6787,"end":6851},"start":6746,"end":6851},{"type":"if","alternatives":[],"check":{"type":"group","expression":{"terms":[{"operator":"==","term":{"type":"constant","name":"valids","start":6856,"end":6862,"appendix":[]}},{"type":"literal","literalType":"number","value":0,"integer":true,"start":6866,"end":6867,"appendix":[]}],"type":"expression","start":6856,"end":6866}},"body":{"type":"block","code":[{"type":"if","alternatives":[{"type":"else","body":{"type":"block","code":[{"terms":[{"type":"constant","name":"done","start":6955,"end":6998,"appendix":[{"type":"call","expression":[{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.InputValidation","start":6964,"end":6997,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"boolean","value":false,"start":6987,"end":6992,"appendix":[]}],"type":"expression","start":6987,"end":6991},{"terms":[{"type":"literal","literalType":"string","value":"","start":6994,"end":6996,"appendix":[]}],"type":"expression","start":6993,"end":6995}]}]}],"type":"expression","start":6964,"end":6996},"start":6960,"end":6997,"appendix":[]}],"type":"expression","start":6960,"end":6996}]}]}],"type":"expression","start":6955,"end":6998}],"start":6955,"end":6998}}],"check":{"type":"group","expression":{"terms":[{"operator":"!=","term":{"type":"constant","name":"firstError","start":6883,"end":6893,"appendix":[]}},{"type":"constant","name":"null","start":6897,"end":6901,"appendix":[]}],"type":"expression","start":6883,"end":6900}},"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"done","start":6914,"end":6930,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"firstError","start":6919,"end":6929,"appendix":[]}],"type":"expression","start":6919,"end":6928}]}]}],"type":"expression","start":6914,"end":6930}],"start":6903,"end":6940},"start":6879,"end":6998}],"start":6869,"end":7007},"start":6852,"end":7014}],"start":6728,"end":7015}}],"type":"expression","start":6683,"end":7015}]}]}],"type":"expression","start":6660,"end":7017}],"start":6598,"end":7024},"mode":"in","start":6569,"end":7024}],"start":6249,"end":7030},"start":6201,"end":7107}],"start":6195,"end":7112}}],"check":{"type":"group","expression":{"terms":[{"operator":"==","term":{"type":"constant","name":"value.typeAsString","start":5530,"end":5550,"appendix":[{"type":"call","expression":[]}]}},{"operator":"or","term":{"type":"literal","literalType":"string","value":"float","start":5554,"end":5561,"appendix":[]}},{"operator":"==","term":{"type":"constant","name":"value.typeAsString","start":5565,"end":5585,"appendix":[{"type":"call","expression":[]}]}},{"type":"literal","literalType":"string","value":"integer","start":5589,"end":5598,"appendix":[]}],"type":"expression","start":5530,"end":5597}},"body":{"type":"block","code":[{"type":"define","name":"val","valueType":{"name":"float","reference":0,"start":5610,"end":5615,"template":false},"value":{"terms":[{"type":"constant","name":"value","start":5622,"end":5627,"appendix":[]}],"type":"expression","start":5622,"end":5626},"start":5606,"end":5627},{"type":"define","name":"ok","valueType":"","auto":true,"value":{"terms":[{"type":"literal","literalType":"boolean","value":true,"start":5642,"end":5646,"appendix":[]}],"type":"expression","start":5642,"end":5645},"start":5628,"end":5646},{"type":"if","alternatives":[],"check":{"type":"group","expression":{"terms":[{"operator":"in","term":{"type":"literal","literalType":"string","value":"Min","start":5656,"end":5661,"appendix":[]}},{"type":"constant","name":"this.fieldInfo.attributes","start":5665,"end":5690,"appendix":[]}],"type":"expression","start":5656,"end":5689}},"body":{"type":"block","code":[{"type":"define","name":"min","valueType":{"name":"float","reference":0,"start":5703,"end":5708,"template":false},"value":{"terms":[{"type":"constant","name":"this.fieldInfo.attributes","start":5715,"end":5747,"appendix":[{"type":"index","expression":{"terms":[{"type":"literal","literalType":"string","value":"Min","start":5741,"end":5746,"appendix":[]}],"type":"expression","start":5741,"end":5745}}]}],"type":"expression","start":5715,"end":5746},"start":5699,"end":5747},{"type":"if","alternatives":[],"check":{"type":"group","expression":{"terms":[{"operator":"<","term":{"type":"constant","name":"val","start":5758,"end":5761,"appendix":[]}},{"type":"constant","name":"min","start":5764,"end":5767,"appendix":[]}],"type":"expression","start":5758,"end":5766}},"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"done","start":5777,"end":5853,"appendix":[{"type":"call","expression":[{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.InputValidation","start":5786,"end":5852,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"boolean","value":true,"start":5809,"end":5813,"appendix":[]}],"type":"expression","start":5809,"end":5812},{"terms":[{"operator":"+","term":{"type":"literal","literalType":"string","value":"Number must be greater than ","start":5815,"end":5845,"appendix":[]}},{"type":"constant","name":"min","start":5848,"end":5851,"appendix":[]}],"type":"expression","start":5814,"end":5850}]}]}],"type":"expression","start":5786,"end":5851},"start":5782,"end":5852,"appendix":[]}],"type":"expression","start":5782,"end":5851}]}]}],"type":"expression","start":5777,"end":5853},{"terms":[{"operator":"=","term":{"type":"constant","name":"ok","start":5861,"end":5863,"appendix":[]}},{"type":"literal","literalType":"boolean","value":false,"start":5866,"end":5871,"appendix":[]}],"type":"expression","start":5854,"end":5871}],"start":5769,"end":5878},"start":5748,"end":5883}],"start":5692,"end":5884},"start":5647,"end":5891},{"type":"if","alternatives":[],"check":{"type":"group","expression":{"terms":[{"operator":"in","term":{"type":"literal","literalType":"string","value":"Max","start":5896,"end":5901,"appendix":[]}},{"type":"constant","name":"this.fieldInfo.attributes","start":5905,"end":5930,"appendix":[]}],"type":"expression","start":5896,"end":5929}},"body":{"type":"block","code":[{"type":"define","name":"max","valueType":{"name":"float","reference":0,"start":5943,"end":5948,"template":false},"value":{"terms":[{"type":"constant","name":"this.fieldInfo.attributes","start":5955,"end":5987,"appendix":[{"type":"index","expression":{"terms":[{"type":"literal","literalType":"string","value":"Max","start":5981,"end":5986,"appendix":[]}],"type":"expression","start":5981,"end":5985}}]}],"type":"expression","start":5955,"end":5986},"start":5939,"end":5987},{"type":"if","alternatives":[],"check":{"type":"group","expression":{"terms":[{"operator":">","term":{"type":"constant","name":"val","start":5998,"end":6001,"appendix":[]}},{"type":"constant","name":"max","start":6004,"end":6007,"appendix":[]}],"type":"expression","start":5998,"end":6006}},"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"done","start":6017,"end":6090,"appendix":[{"type":"call","expression":[{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.InputValidation","start":6026,"end":6089,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"boolean","value":true,"start":6049,"end":6053,"appendix":[]}],"type":"expression","start":6049,"end":6052},{"terms":[{"operator":"+","term":{"type":"literal","literalType":"string","value":"Number must be less than ","start":6055,"end":6082,"appendix":[]}},{"type":"constant","name":"max","start":6085,"end":6088,"appendix":[]}],"type":"expression","start":6054,"end":6087}]}]}],"type":"expression","start":6026,"end":6088},"start":6022,"end":6089,"appendix":[]}],"type":"expression","start":6022,"end":6088}]}]}],"type":"expression","start":6017,"end":6090},{"terms":[{"operator":"=","term":{"type":"constant","name":"ok","start":6098,"end":6100,"appendix":[]}},{"type":"literal","literalType":"boolean","value":false,"start":6103,"end":6108,"appendix":[]}],"type":"expression","start":6091,"end":6108}],"start":6009,"end":6115},"start":5988,"end":6120}],"start":5932,"end":6121},"start":5892,"end":6128},{"type":"if","alternatives":[],"check":{"type":"group","expression":{"terms":[{"type":"constant","name":"ok","start":6133,"end":6135,"appendix":[]}],"type":"expression","start":6133,"end":6134}},"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"done","start":6142,"end":6185,"appendix":[{"type":"call","expression":[{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.InputValidation","start":6151,"end":6184,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"boolean","value":false,"start":6174,"end":6179,"appendix":[]}],"type":"expression","start":6174,"end":6178},{"terms":[{"type":"literal","literalType":"string","value":"","start":6181,"end":6183,"appendix":[]}],"type":"expression","start":6180,"end":6182}]}]}],"type":"expression","start":6151,"end":6183},"start":6147,"end":6184,"appendix":[]}],"type":"expression","start":6147,"end":6183}]}]}],"type":"expression","start":6142,"end":6185}],"start":6142,"end":6185},"start":6129,"end":6189}],"start":5600,"end":6190},"start":5526,"end":7112}],"start":5521,"end":7116}},"output":{"name":"void","template":[]},"flags":["override"],"templates":[],"start":5411,"doc":[],"end":7116},{"type":"method","name":"fillField","value":{"type":"method","parameters":[{"type":{"name":"primitive","reference":0,"start":7146,"end":7155,"template":false},"doc":[],"name":"value","optional":[]},{"type":{"name":"map","reference":0,"start":7163,"end":7166,"template":false},"doc":[],"name":"values","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"values","start":7180,"end":7198,"appendix":[{"type":"index","expression":{"terms":[{"type":"constant","name":"this.field","start":7187,"end":7197,"appendix":[]}],"type":"expression","start":7187,"end":7196}}]}},{"type":"constant","name":"value","start":7201,"end":7206,"appendix":[]}],"type":"expression","start":7180,"end":7206}],"start":7175,"end":7210}},"output":{"name":"void","template":[]},"flags":["override"],"templates":[],"start":7117,"doc":[],"end":7210},{"type":"method","name":"filterField","value":{"type":"method","parameters":[{"type":{"name":"float","reference":0,"start":7242,"end":7247,"template":false},"doc":[],"name":"value","optional":[]},{"type":{"name":"Websom.DatabaseSelect","reference":0,"start":7255,"end":7276,"template":false},"doc":[],"name":"select","optional":[]},{"type":{"name":"function","reference":0,"start":7285,"end":7323,"template":[{"name":"void","reference":0,"start":7286,"end":7290,"template":false},{"name":"Websom.InputValidation","reference":0,"start":7291,"end":7314,"template":false}]},"doc":[],"name":"done","optional":[]}],"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"select.where","start":7335,"end":7373,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"this.field","start":7348,"end":7358,"appendix":[]}],"type":"expression","start":7348,"end":7357}]},{"type":"dot","name":"equals"},{"type":"call","expression":[{"terms":[{"type":"constant","name":"value","start":7367,"end":7372,"appendix":[]}],"type":"expression","start":7367,"end":7371}]}]}],"type":"expression","start":7335,"end":7373},{"terms":[{"type":"constant","name":"done","start":7378,"end":7388,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"null","start":7383,"end":7387,"appendix":[]}],"type":"expression","start":7383,"end":7386}]}]}],"type":"expression","start":7374,"end":7388}],"start":7330,"end":7392}},"output":{"name":"void","template":[]},"flags":["override"],"templates":[],"start":7211,"doc":[],"end":7392}],"inherits":{"types":[{"name":"Websom.FieldControl","reference":0,"start":5387,"end":5406,"template":false}]},"templates":[],"start":5345,"end":7395}},{"type": "class", "base": "class", "flags": ["header"], "templates": [], "route": "Websom.Controls.Bool", "name": "Bool", "inherits": ["Websom.FieldControl","everything"], "members": [{"type": "method", "binding": "bound", "name": "validateField", "flags": ["override"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.InputValidation", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "fillField", "flags": ["override"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}},{"optional": "false", "name": "values", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "filterField", "flags": ["override"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}},{"optional": "false", "name": "select", "type": {"name": "Websom.DatabaseSelect", "template": []}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.InputValidation", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "property", "binding": "bound", "name": "required",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "name",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "field",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "logic",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "fieldInfo",  "output": {"name": "Websom.FieldInfo", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "string", "template": []}},{"optional": "false", "name": "logic", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "name", "type": {"name": "string", "template": []}},{"optional": "false", "name": "field", "type": {"name": "string", "template": []}},{"optional": "false", "name": "fieldInfo", "type": {"name": "Websom.FieldInfo", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "validate",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.InputValidation", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "fill",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "values", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "filter",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "select", "type": {"name": "Websom.DatabaseSelect", "template": []}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.InputValidation", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "property", "binding": "bound", "name": "container",  "output": {"name": "Websom.Container", "template": []}},{"type": "method", "binding": "bound", "name": "insert",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "data", "type": {"name": "Websom.Data", "template": []}},{"optional": "false", "name": "key", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "update",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "data", "type": {"name": "Websom.Data", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "message",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "name", "type": {"name": "string", "template": []}},{"optional": "false", "name": "data", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"optional": "false", "name": "send", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "map", "template": [{"name": "primitive", "template": []}]}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "use",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "inputChain", "type": {"name": "Websom.InputChain", "template": []}}], "isImplicitAsync": false, "isAsync": false}], "raw": {"type":"class","doc":[],"flags":["header"],"name":"Websom.Controls.Bool","members":[{"type":"method","name":"validateField","value":{"type":"method","parameters":[{"type":{"name":"Websom.Input","reference":0,"start":7736,"end":7748,"template":false},"doc":[],"name":"input","optional":[]},{"type":{"name":"primitive","reference":0,"start":7756,"end":7765,"template":false},"doc":[],"name":"value","optional":[]},{"type":{"name":"function","reference":0,"start":7773,"end":7811,"template":[{"name":"void","reference":0,"start":7774,"end":7778,"template":false},{"name":"Websom.InputValidation","reference":0,"start":7779,"end":7802,"template":false}]},"doc":[],"name":"done","optional":[]}],"body":{"type":"block","code":[{"type":"if","alternatives":[{"type":"else","body":{"type":"block","code":[{"terms":[{"type":"constant","name":"done","start":7923,"end":7983,"appendix":[{"type":"call","expression":[{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.InputValidation","start":7932,"end":7982,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"boolean","value":true,"start":7955,"end":7959,"appendix":[]}],"type":"expression","start":7955,"end":7958},{"terms":[{"type":"literal","literalType":"string","value":"Not a boolean type","start":7961,"end":7981,"appendix":[]}],"type":"expression","start":7960,"end":7980}]}]}],"type":"expression","start":7932,"end":7981},"start":7928,"end":7982,"appendix":[]}],"type":"expression","start":7928,"end":7981}]}]}],"type":"expression","start":7923,"end":7983}],"start":7923,"end":7983}}],"check":{"type":"group","expression":{"terms":[{"operator":"==","term":{"type":"constant","name":"value.typeAsString","start":7827,"end":7847,"appendix":[{"type":"call","expression":[]}]}},{"type":"literal","literalType":"string","value":"boolean","start":7851,"end":7860,"appendix":[]}],"type":"expression","start":7827,"end":7859}},"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"done","start":7866,"end":7909,"appendix":[{"type":"call","expression":[{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.InputValidation","start":7875,"end":7908,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"boolean","value":false,"start":7898,"end":7903,"appendix":[]}],"type":"expression","start":7898,"end":7902},{"terms":[{"type":"literal","literalType":"string","value":"","start":7905,"end":7907,"appendix":[]}],"type":"expression","start":7904,"end":7906}]}]}],"type":"expression","start":7875,"end":7907},"start":7871,"end":7908,"appendix":[]}],"type":"expression","start":7871,"end":7907}]}]}],"type":"expression","start":7866,"end":7909}],"start":7866,"end":7909},"start":7823,"end":7983}],"start":7818,"end":7987}},"output":{"name":"void","template":[]},"flags":["override"],"templates":[],"start":7708,"doc":[],"end":7987},{"type":"method","name":"fillField","value":{"type":"method","parameters":[{"type":{"name":"primitive","reference":0,"start":8017,"end":8026,"template":false},"doc":[],"name":"value","optional":[]},{"type":{"name":"map","reference":0,"start":8034,"end":8037,"template":false},"doc":[],"name":"values","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"values","start":8051,"end":8069,"appendix":[{"type":"index","expression":{"terms":[{"type":"constant","name":"this.field","start":8058,"end":8068,"appendix":[]}],"type":"expression","start":8058,"end":8067}}]}},{"type":"constant","name":"value","start":8072,"end":8077,"appendix":[]}],"type":"expression","start":8051,"end":8077}],"start":8046,"end":8081}},"output":{"name":"void","template":[]},"flags":["override"],"templates":[],"start":7988,"doc":[],"end":8081},{"type":"method","name":"filterField","value":{"type":"method","parameters":[{"type":{"name":"primitive","reference":0,"start":8113,"end":8122,"template":false},"doc":[],"name":"value","optional":[]},{"type":{"name":"Websom.DatabaseSelect","reference":0,"start":8130,"end":8151,"template":false},"doc":[],"name":"select","optional":[]},{"type":{"name":"function","reference":0,"start":8160,"end":8198,"template":[{"name":"void","reference":0,"start":8161,"end":8165,"template":false},{"name":"Websom.InputValidation","reference":0,"start":8166,"end":8189,"template":false}]},"doc":[],"name":"done","optional":[]}],"body":{"type":"block","code":[{"type":"define","name":"val","valueType":{"name":"int","reference":0,"start":8214,"end":8217,"template":false},"value":{"terms":[{"type":"literal","literalType":"number","value":0,"integer":true,"start":8224,"end":8225,"appendix":[]}],"type":"expression","start":8224,"end":8224},"start":8210,"end":8225},{"type":"if","alternatives":[],"check":{"type":"group","expression":{"terms":[{"operator":"==","term":{"type":"constant","name":"value","start":8236,"end":8241,"appendix":[]}},{"type":"literal","literalType":"boolean","value":true,"start":8245,"end":8249,"appendix":[]}],"type":"expression","start":8236,"end":8248}},"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"val","start":8255,"end":8258,"appendix":[]}},{"type":"literal","literalType":"number","value":1,"integer":true,"start":8261,"end":8262,"appendix":[]}],"type":"expression","start":8255,"end":8262}],"start":8255,"end":8262},"start":8226,"end":8268},{"terms":[{"type":"constant","name":"select.where","start":8269,"end":8305,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"this.field","start":8282,"end":8292,"appendix":[]}],"type":"expression","start":8282,"end":8291}]},{"type":"dot","name":"equals"},{"type":"call","expression":[{"terms":[{"type":"constant","name":"val","start":8301,"end":8304,"appendix":[]}],"type":"expression","start":8301,"end":8303}]}]}],"type":"expression","start":8269,"end":8305},{"terms":[{"type":"constant","name":"done","start":8312,"end":8322,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"null","start":8317,"end":8321,"appendix":[]}],"type":"expression","start":8317,"end":8320}]}]}],"type":"expression","start":8306,"end":8322}],"start":8205,"end":8326}},"output":{"name":"void","template":[]},"flags":["override"],"templates":[],"start":8082,"doc":[],"end":8326}],"inherits":{"types":[{"name":"Websom.FieldControl","reference":0,"start":7684,"end":7703,"template":false}]},"templates":[],"start":7644,"end":8329}},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.CallContext", "name": "CallContext", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "subContainerCall",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "data",  "output": {"name": "Websom.Data", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": ["header"], "templates": [], "route": "Websom.Data", "name": "Data", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "websomServer", "flags": ["override"],  "output": {"name": "Websom.Server", "template": []}},{"type": "property", "binding": "bound", "name": "websomFieldInfo", "flags": ["override"],  "output": {"name": "Websom.FieldInfo", "template": []}},{"type": "property", "binding": "bound", "name": "websomParentData", "flags": ["override"],  "output": {"name": "Websom.Data", "template": []}},{"type": "property", "binding": "bound", "name": "websomContainer", "flags": ["override"],  "output": {"name": "Websom.Container", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "read",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "write",  "output": {"name": "primitive", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "setField", "flags": ["trust", "override"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "name", "type": {"name": "string", "template": []}},{"optional": "false", "name": "value", "type": {"name": "everything", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "getContainer",  "output": {"name": "Websom.Containers.Table", "template": []}, "arguments": [{"optional": "false", "name": "realFieldName", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "onInputInterface", "flags": ["override"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "route", "type": {"name": "string", "template": []}},{"optional": "false", "name": "data", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"optional": "false", "name": "respond", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "map", "template": [{"name": "primitive", "template": []}]}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "getField",  "output": {"name": "everything", "template": []}, "arguments": [{"optional": "false", "name": "name", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "getPublicId",  "output": {"name": "primitive", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "callLoadFromMap",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "raw", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"optional": "false", "name": "callback", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "string", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "fixed", "name": "getDataInfo",  "output": {"name": "Websom.DataInfo", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "fromPrimary",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "key", "type": {"name": "primitive", "template": []}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "string", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "loadFromPublicKey",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "parent", "type": {"name": "Websom.Containers.Table", "template": []}},{"optional": "false", "name": "key", "type": {"name": "primitive", "template": []}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "string", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "loadFromId",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "parent", "type": {"name": "Websom.Containers.Table", "template": []}},{"optional": "false", "name": "id", "type": {"name": "primitive", "template": []}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "string", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "fixed", "name": "registerInterfaces",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "parent", "type": {"name": "Websom.Container", "template": []}},{"optional": "false", "name": "component", "type": {"name": "Websom.Containers", "template": []}},{"optional": "false", "name": "getFieldContainer", "type": {"name": "function", "template": [{"name": "Websom.Container", "template": []}, {"name": "string", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "fixed", "name": "spawnFromId", "flags": ["override"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}},{"optional": "false", "name": "table", "type": {"name": "string", "template": []}},{"optional": "false", "name": "id", "type": {"name": "primitive", "template": []}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "string", "template": []}, {"name": "Websom.Data", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "onSend",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "req", "type": {"name": "Websom.Request", "template": []}},{"optional": "false", "name": "exposed", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"optional": "false", "name": "send", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "map", "template": [{"name": "primitive", "template": []}]}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "onComponentSend",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "req", "type": {"name": "Websom.Request", "template": []}},{"optional": "false", "name": "data", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"optional": "false", "name": "send", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "map", "template": [{"name": "primitive", "template": []}]}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "fixed", "name": "structureTable",  "output": {"name": "Websom.DatabaseStructure", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "getFieldContainer",  "output": {"name": "Websom.Container", "template": []}, "arguments": [{"optional": "false", "name": "fieldName", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "nativeLoadFromMap",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "raw", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "string", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "exposeToClient", "flags": ["override"],  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "linkedExpose", "flags": ["override"],  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "fetchFieldInfo",  "output": {"name": "Websom.DataInfo", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "getPrimary",  "output": {"name": "Websom.FieldInfo", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "getFieldFromName",  "output": {"name": "primitive", "template": []}, "arguments": [{"optional": "false", "name": "realName", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "containerInsert",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "container", "type": {"name": "Websom.Container", "template": []}},{"optional": "false", "name": "insert", "type": {"name": "Websom.DatabaseInsert", "template": []}},{"optional": "false", "name": "data", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "containerUpdate",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "container", "type": {"name": "Websom.Container", "template": []}},{"optional": "false", "name": "update", "type": {"name": "Websom.DatabaseSelect", "template": []}},{"optional": "false", "name": "data", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "update",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "string", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "insert",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "string", "template": []}, {"name": "primitive", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "buildInsert",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "insert", "type": {"name": "Websom.DatabaseInsert", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "buildUpdate",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "select", "type": {"name": "Websom.DatabaseSelect", "template": []}}], "isImplicitAsync": false, "isAsync": false}], "raw": {"type":"class","doc":[],"flags":["header"],"name":"Websom.Data","members":[{"type":"property","name":"websomServer","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":67,"end":71,"appendix":[]}],"type":"expression","start":67,"end":70}},"output":{"name":"Websom.Server","template":[]},"flags":["override"],"templates":[],"start":29,"doc":[],"end":71},{"type":"property","name":"websomFieldInfo","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":195,"end":199,"appendix":[]}],"type":"expression","start":195,"end":198}},"output":{"name":"Websom.FieldInfo","template":[]},"flags":["override"],"templates":[],"start":72,"doc":["@note Only applied when containerUpdate or containerInsert are called"],"end":199},{"type":"property","name":"websomParentData","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":319,"end":323,"appendix":[]}],"type":"expression","start":319,"end":322}},"output":{"name":"Websom.Data","template":[]},"flags":["override"],"templates":[],"start":200,"doc":["@note Only applied when containerUpdate or containerInsert are called"],"end":323},{"type":"property","name":"websomContainer","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":373,"end":377,"appendix":[]}],"type":"expression","start":373,"end":376}},"output":{"name":"Websom.Container","template":[]},"flags":["override"],"templates":[],"start":324,"doc":[],"end":377},{"type":"method","name":"@construct","value":{"type":"method","parameters":[{"type":{"name":"Websom.Server","reference":0,"start":399,"end":412,"template":false},"doc":[],"name":"server","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.websomServer","start":426,"end":443,"appendix":[]}},{"type":"constant","name":"server","start":446,"end":452,"appendix":[]}],"type":"expression","start":426,"end":452}],"start":421,"end":456}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":378,"doc":[],"end":456},{"type":"method","name":"read","value":{"type":"method","parameters":[{"type":{"name":"primitive","reference":0,"start":472,"end":481,"template":false},"doc":[],"name":"value","optional":[]}],"body":{"type":"block","code":[],"start":489,"end":490}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":457,"doc":[],"end":490},{"type":"method","name":"write","value":{"type":"method","parameters":[],"body":{"type":"block","code":[],"start":544,"end":545}},"output":{"name":"primitive","template":[]},"flags":[],"templates":[],"start":491,"doc":[],"end":545},{"type":"method","name":"setField","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":580,"end":586,"template":false},"doc":[],"name":"name","optional":[]},{"type":{"name":"everything","reference":0,"start":593,"end":603,"template":false},"doc":[],"name":"value","optional":[]}],"body":{"type":"block","code":[{"type":"native","platform":"javascript","content":"\r\n\t\t\tthis[name] = value;\r\n\t\t","start":616,"end":663},{"type":"native","platform":"php","content":"\r\n\t\t\t$this->$name = $value;\r\n\t\t","start":664,"end":713}],"start":611,"end":717}},"output":{"name":"void","template":[]},"flags":["override","trust"],"templates":[],"start":546,"doc":[],"end":717},{"type":"method","name":"getContainer","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":760,"end":766,"template":false},"doc":[],"name":"realFieldName","optional":[]}],"body":{"type":"block","code":[{"type":"define","name":"info","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"this.fetchFieldInfo","start":798,"end":819,"appendix":[{"type":"call","expression":[]}]}],"type":"expression","start":798,"end":818},"start":787,"end":819},{"type":"for","in":true,"define":{"type":"define","name":"i","end":839,"start":831,"valueType":{"name":"int","reference":0,"start":835,"end":838,"template":false}},"iterate":{"terms":[{"type":"constant","name":"info.fields","start":844,"end":855,"appendix":[]}],"type":"expression","start":843,"end":854},"body":{"type":"block","code":[{"type":"define","name":"field","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"info.fields","start":875,"end":889,"appendix":[{"type":"index","expression":{"terms":[{"type":"constant","name":"i","start":887,"end":888,"appendix":[]}],"type":"expression","start":887,"end":887}}]}],"type":"expression","start":875,"end":888},"start":863,"end":889},{"type":"if","alternatives":[],"check":{"type":"group","expression":{"terms":[{"operator":"==","term":{"type":"constant","name":"field.realName","start":899,"end":913,"appendix":[]}},{"type":"constant","name":"realFieldName","start":917,"end":930,"appendix":[]}],"type":"expression","start":899,"end":929}},"body":{"type":"block","code":[{"type":"define","name":"thisTable","valueType":{"name":"Websom.Containers.Table","reference":0,"start":943,"end":966,"template":false},"value":{"terms":[{"type":"constant","name":"this.websomContainer","start":979,"end":999,"appendix":[]}],"type":"expression","start":979,"end":998},"start":939,"end":999},{"type":"if","alternatives":[],"check":{"type":"group","expression":{"terms":[{"type":"constant","name":"field.structure.hasFlag","start":1010,"end":1043,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"string","value":"linked","start":1034,"end":1042,"appendix":[]}],"type":"expression","start":1034,"end":1041}]}]}],"type":"expression","start":1010,"end":1042}},"body":{"type":"block","code":[{"type":"define","name":"linked","valueType":{"name":"Websom.DatabaseFlags.Linked","reference":0,"start":1057,"end":1084,"template":false},"value":{"terms":[{"type":"constant","name":"field.structure.getFlag","start":1094,"end":1127,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"string","value":"linked","start":1118,"end":1126,"appendix":[]}],"type":"expression","start":1118,"end":1125}]}]}],"type":"expression","start":1094,"end":1126},"start":1053,"end":1127},{"type":"define","name":"typeInfo","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"Websom.DataInfo.getDataInfoFromRoute","start":1150,"end":1204,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"linked.fieldType","start":1187,"end":1203,"appendix":[]}],"type":"expression","start":1187,"end":1202}]}]}],"type":"expression","start":1150,"end":1203},"start":1128,"end":1204},{"type":"return","expression":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.Containers.Table","start":1223,"end":1316,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"this.websomServer","start":1247,"end":1264,"appendix":[]}],"type":"expression","start":1247,"end":1263},{"terms":[{"operator":"+","term":{"type":"constant","name":"thisTable.table","start":1266,"end":1281,"appendix":[]}},{"operator":"+","term":{"type":"literal","literalType":"string","value":"_","start":1284,"end":1287,"appendix":[]}},{"type":"constant","name":"field.fieldName","start":1290,"end":1305,"appendix":[]}],"type":"expression","start":1265,"end":1304},{"terms":[{"type":"constant","name":"typeInfo","start":1307,"end":1315,"appendix":[]}],"type":"expression","start":1306,"end":1314}]}]}],"type":"expression","start":1223,"end":1315},"start":1219,"end":1316,"appendix":[]}],"type":"expression","start":1219,"end":1315},"start":1205,"end":1316}],"start":1045,"end":1323},"start":1000,"end":1328}],"start":932,"end":1329},"start":890,"end":1333}],"start":857,"end":1334},"mode":"in","start":820,"end":1334},{"type":"return","expression":{"terms":[{"type":"constant","name":"null","start":1346,"end":1350,"appendix":[]}],"type":"expression","start":1346,"end":1349},"start":1335,"end":1350}],"start":782,"end":1354}},"output":{"name":"Websom.Containers.Table","template":[]},"flags":[],"templates":[],"start":718,"doc":[],"end":1354},{"type":"method","name":"onInputInterface","value":{"type":"method","parameters":[{"type":{"name":"Websom.Input","reference":0,"start":1391,"end":1403,"template":false},"doc":[],"name":"input","optional":[]},{"type":{"name":"string","reference":0,"start":1411,"end":1417,"template":false},"doc":[],"name":"route","optional":[]},{"type":{"name":"map","reference":0,"start":1425,"end":1428,"template":false},"doc":[],"name":"data","optional":[]},{"type":{"name":"function","reference":0,"start":1435,"end":1454,"template":[{"name":"void","reference":0,"start":1436,"end":1440,"template":false},{"name":"map","reference":0,"start":1441,"end":1445,"template":false}]},"doc":[],"name":"respond","optional":[]}],"body":{"type":"block","code":[{"type":"native","platform":"javascript","content":"\r\n\t\t\tif (this.onInputInterfaceAuto)\r\n\t\t\t\tthis.onInputInterfaceAuto(input, route, data, respond);\r\n\t\t\telse\r\n\t\t\t\trespond(null);\r\n\t\t","start":1469,"end":1617},{"type":"native","platform":"php","content":"\r\n\t\t\tif (method_exists($this, \"onInputInterfaceAuto\"))\r\n\t\t\t\t$this->onInputInterfaceAuto($input, $route, $data, $respond);\r\n\t\t\telse\r\n\t\t\t\t$respond(null);\r\n\t\t","start":1618,"end":1791}],"start":1464,"end":1795}},"output":{"name":"void","template":[]},"flags":["override"],"templates":[],"start":1355,"doc":[],"end":1795},{"type":"method","name":"getField","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":1821,"end":1827,"template":false},"doc":[],"name":"name","optional":[]}],"body":{"type":"block","code":[{"type":"native","platform":"javascript","content":"\r\n\t\t\treturn this[name];\r\n\t\t","start":1839,"end":1885},{"type":"native","platform":"php","content":"\r\n\t\t\treturn property_exists($this, $name) ? $this->$name : null;\r\n\t\t","start":1886,"end":1974}],"start":1834,"end":1978}},"output":{"name":"everything","template":[]},"flags":[],"templates":[],"start":1796,"doc":[],"end":1978},{"type":"method","name":"getPublicId","value":{"type":"method","parameters":[],"body":{"type":"block","code":[{"type":"return","expression":{"terms":[{"type":"constant","name":"this.getField","start":2020,"end":2045,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"string","value":"publicId","start":2034,"end":2044,"appendix":[]}],"type":"expression","start":2034,"end":2043}]}]}],"type":"expression","start":2020,"end":2044},"start":2013,"end":2045}],"start":2008,"end":2089}},"output":{"name":"primitive","template":[]},"flags":[],"templates":[],"start":1979,"doc":[],"end":2089},{"type":"method","name":"callLoadFromMap","value":{"type":"method","parameters":[{"type":{"name":"map","reference":0,"start":2116,"end":2119,"template":false},"doc":[],"name":"raw","optional":[]},{"type":{"name":"function","reference":0,"start":2125,"end":2147,"template":[{"name":"void","reference":0,"start":2126,"end":2130,"template":false},{"name":"string","reference":0,"start":2131,"end":2138,"template":false}]},"doc":[],"name":"callback","optional":[]}],"body":{"type":"block","code":[{"type":"native","platform":"javascript","content":"\r\n\t\t\treturn this.loadFromMap(raw, callback);\r\n\t\t","start":2163,"end":2230},{"type":"native","platform":"php","content":"\r\n\t\t\treturn $this->loadFromMap($raw, $callback);\r\n\t\t","start":2231,"end":2301}],"start":2158,"end":2305}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":2090,"doc":[],"end":2305},{"type":"method","name":"getDataInfo","value":{"type":"method","parameters":[],"body":{"type":"block","code":[{"type":"native","platform":"javascript","content":"\r\n\t\t\treturn this.getInfo();\r\n\t\t","start":2352,"end":2402},{"type":"native","platform":"php","content":"\r\n\t\t\treturn self::getInfo();\r\n\t\t","start":2403,"end":2453}],"start":2347,"end":2457}},"output":{"name":"Websom.DataInfo","template":[]},"flags":["fixed"],"templates":[],"start":2306,"doc":[],"end":2457},{"type":"method","name":"fromPrimary","value":{"type":"method","parameters":[{"type":{"name":"primitive","reference":0,"start":2551,"end":2560,"template":false},"doc":[],"name":"key","optional":[]},{"type":{"name":"function","reference":0,"start":2566,"end":2588,"template":[{"name":"void","reference":0,"start":2567,"end":2571,"template":false},{"name":"string","reference":0,"start":2572,"end":2579,"template":false}]},"doc":[],"name":"done","optional":[]}],"body":{"type":"block","code":[],"start":2595,"end":2596}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":2458,"doc":[],"end":2596},{"type":"method","name":"loadFromPublicKey","value":{"type":"method","parameters":[{"type":{"name":"Websom.Containers.Table","reference":0,"start":2625,"end":2648,"template":false},"doc":[],"name":"parent","optional":[]},{"type":{"name":"primitive","reference":0,"start":2657,"end":2666,"template":false},"doc":[],"name":"key","optional":[]},{"type":{"name":"function","reference":0,"start":2672,"end":2694,"template":[{"name":"void","reference":0,"start":2673,"end":2677,"template":false},{"name":"string","reference":0,"start":2678,"end":2685,"template":false}]},"doc":[],"name":"done","optional":[]}],"body":{"type":"block","code":[{"type":"define","name":"that","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"this","start":2717,"end":2721,"appendix":[]}],"type":"expression","start":2717,"end":2720},"start":2706,"end":2721},{"terms":[{"operator":"=","term":{"type":"constant","name":"that.websomContainer","start":2726,"end":2746,"appendix":[]}},{"type":"constant","name":"parent","start":2749,"end":2755,"appendix":[]}],"type":"expression","start":2722,"end":2755},{"terms":[{"type":"constant","name":"parent.server.database.primary.from","start":2760,"end":2991,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"parent.table","start":2796,"end":2808,"appendix":[]}],"type":"expression","start":2796,"end":2807}]},{"type":"dot","name":"where"},{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"string","value":"publicId","start":2816,"end":2826,"appendix":[]}],"type":"expression","start":2816,"end":2825}]},{"type":"dot","name":"equals"},{"type":"call","expression":[{"terms":[{"type":"constant","name":"key","start":2835,"end":2838,"appendix":[]}],"type":"expression","start":2835,"end":2837}]},{"type":"dot","name":"run"},{"type":"call","expression":[{"terms":[{"type":"function","output":{"name":"void","reference":0,"start":2844,"end":2848,"template":false},"parameters":[{"type":{"name":"string","reference":0,"start":2850,"end":2856,"template":false},"doc":[],"name":"err","optional":[]},{"type":{"name":"array","reference":0,"start":2862,"end":2872,"template":[{"name":"map","reference":0,"start":2863,"end":2866,"template":false}]},"doc":[],"name":"res","optional":[]}],"body":{"type":"block","code":[{"type":"if","alternatives":[{"type":"else","body":{"type":"block","code":[{"terms":[{"type":"constant","name":"that.callLoadFromMap","start":2950,"end":2984,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"res","start":2971,"end":2977,"appendix":[{"type":"index","expression":{"terms":[{"type":"literal","literalType":"number","value":0,"integer":true,"start":2975,"end":2976,"appendix":[]}],"type":"expression","start":2975,"end":2975}}]}],"type":"expression","start":2971,"end":2976},{"terms":[{"type":"constant","name":"done","start":2979,"end":2983,"appendix":[]}],"type":"expression","start":2978,"end":2982}]}]}],"type":"expression","start":2950,"end":2984}],"start":2950,"end":2984}}],"check":{"type":"group","expression":{"terms":[{"operator":"==","term":{"type":"constant","name":"res.length","start":2891,"end":2901,"appendix":[]}},{"type":"literal","literalType":"number","value":0,"integer":true,"start":2905,"end":2906,"appendix":[]}],"type":"expression","start":2891,"end":2905}},"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"done","start":2913,"end":2934,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"string","value":"No data found","start":2918,"end":2933,"appendix":[]}],"type":"expression","start":2918,"end":2932}]}]}],"type":"expression","start":2913,"end":2934}],"start":2913,"end":2934},"start":2887,"end":2984}],"start":2881,"end":2989}}],"type":"expression","start":2844,"end":2989}]}]}],"type":"expression","start":2756,"end":2991}],"start":2701,"end":2995}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":2597,"doc":[],"end":2995},{"type":"method","name":"loadFromId","value":{"type":"method","parameters":[{"type":{"name":"Websom.Containers.Table","reference":0,"start":3017,"end":3040,"template":false},"doc":[],"name":"parent","optional":[]},{"type":{"name":"primitive","reference":0,"start":3049,"end":3058,"template":false},"doc":[],"name":"id","optional":[]},{"type":{"name":"function","reference":0,"start":3063,"end":3085,"template":[{"name":"void","reference":0,"start":3064,"end":3068,"template":false},{"name":"string","reference":0,"start":3069,"end":3076,"template":false}]},"doc":[],"name":"done","optional":[]}],"body":{"type":"block","code":[{"type":"define","name":"that","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"this","start":3108,"end":3112,"appendix":[]}],"type":"expression","start":3108,"end":3111},"start":3097,"end":3112},{"terms":[{"operator":"=","term":{"type":"constant","name":"that.websomContainer","start":3117,"end":3137,"appendix":[]}},{"type":"constant","name":"parent","start":3140,"end":3146,"appendix":[]}],"type":"expression","start":3113,"end":3146},{"terms":[{"type":"constant","name":"parent.server.database.primary.from","start":3151,"end":3375,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"parent.table","start":3187,"end":3199,"appendix":[]}],"type":"expression","start":3187,"end":3198}]},{"type":"dot","name":"where"},{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"string","value":"id","start":3207,"end":3211,"appendix":[]}],"type":"expression","start":3207,"end":3210}]},{"type":"dot","name":"equals"},{"type":"call","expression":[{"terms":[{"type":"constant","name":"id","start":3220,"end":3222,"appendix":[]}],"type":"expression","start":3220,"end":3221}]},{"type":"dot","name":"run"},{"type":"call","expression":[{"terms":[{"type":"function","output":{"name":"void","reference":0,"start":3228,"end":3232,"template":false},"parameters":[{"type":{"name":"string","reference":0,"start":3234,"end":3240,"template":false},"doc":[],"name":"err","optional":[]},{"type":{"name":"array","reference":0,"start":3246,"end":3256,"template":[{"name":"map","reference":0,"start":3247,"end":3250,"template":false}]},"doc":[],"name":"res","optional":[]}],"body":{"type":"block","code":[{"type":"if","alternatives":[{"type":"else","body":{"type":"block","code":[{"terms":[{"type":"constant","name":"that.callLoadFromMap","start":3334,"end":3368,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"res","start":3355,"end":3361,"appendix":[{"type":"index","expression":{"terms":[{"type":"literal","literalType":"number","value":0,"integer":true,"start":3359,"end":3360,"appendix":[]}],"type":"expression","start":3359,"end":3359}}]}],"type":"expression","start":3355,"end":3360},{"terms":[{"type":"constant","name":"done","start":3363,"end":3367,"appendix":[]}],"type":"expression","start":3362,"end":3366}]}]}],"type":"expression","start":3334,"end":3368}],"start":3334,"end":3368}}],"check":{"type":"group","expression":{"terms":[{"operator":"==","term":{"type":"constant","name":"res.length","start":3275,"end":3285,"appendix":[]}},{"type":"literal","literalType":"number","value":0,"integer":true,"start":3289,"end":3290,"appendix":[]}],"type":"expression","start":3275,"end":3289}},"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"done","start":3297,"end":3318,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"string","value":"No data found","start":3302,"end":3317,"appendix":[]}],"type":"expression","start":3302,"end":3316}]}]}],"type":"expression","start":3297,"end":3318}],"start":3297,"end":3318},"start":3271,"end":3368}],"start":3265,"end":3373}}],"type":"expression","start":3228,"end":3373}]}]}],"type":"expression","start":3147,"end":3375}],"start":3092,"end":3379}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":2996,"doc":[],"end":3379},{"type":"method","name":"registerInterfaces","value":{"type":"method","parameters":[{"type":{"name":"Websom.Container","reference":0,"start":3468,"end":3484,"template":false},"doc":[],"name":"parent","optional":[]},{"type":{"name":"Websom.Containers","reference":0,"start":3493,"end":3510,"template":false},"doc":[],"name":"component","optional":[]},{"type":{"name":"function","reference":0,"start":3522,"end":3556,"template":[{"name":"Websom.Container","reference":0,"start":3523,"end":3539,"template":false},{"name":"string","reference":0,"start":3540,"end":3547,"template":false}]},"doc":[],"name":"getFieldContainer","optional":[]}],"body":{"type":"block","code":[],"start":3576,"end":3582}},"output":{"name":"void","template":[]},"flags":["fixed"],"templates":[],"start":3380,"doc":["Called on components to setup any sub interfaces"],"end":3582},{"type":"method","name":"spawnFromId","value":{"type":"method","parameters":[{"type":{"name":"Websom.Server","reference":0,"start":3620,"end":3633,"template":false},"doc":[],"name":"server","optional":[]},{"type":{"name":"string","reference":0,"start":3642,"end":3648,"template":false},"doc":[],"name":"table","optional":[]},{"type":{"name":"primitive","reference":0,"start":3656,"end":3665,"template":false},"doc":[],"name":"id","optional":[]},{"type":{"name":"function","reference":0,"start":3670,"end":3705,"template":[{"name":"void","reference":0,"start":3671,"end":3675,"template":false},{"name":"string","reference":0,"start":3676,"end":3683,"template":false},{"name":"Websom.Data","reference":0,"start":3684,"end":3696,"template":false}]},"doc":[],"name":"done","optional":[]}],"body":{"type":"block","code":[{"type":"define","name":"dataInfo","valueType":{"name":"Websom.DataInfo","reference":0,"start":3721,"end":3736,"template":false},"value":{"terms":[{"type":"constant","name":"null","start":3748,"end":3752,"appendix":[]}],"type":"expression","start":3748,"end":3751},"start":3717,"end":3752},{"type":"native","platform":"javascript","content":"\r\n\t\t\tdataInfo = this.getInfo();\r\n\t\t","start":3753,"end":3811},{"type":"native","platform":"php","content":"\r\n\t\t\t$dataInfo = self::getInfo();\r\n\t\t","start":3812,"end":3867},{"type":"define","name":"container","valueType":"","auto":true,"value":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.Containers.Table","start":3894,"end":3942,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"server","start":3918,"end":3924,"appendix":[]}],"type":"expression","start":3918,"end":3923},{"terms":[{"type":"constant","name":"table","start":3926,"end":3931,"appendix":[]}],"type":"expression","start":3925,"end":3930},{"terms":[{"type":"constant","name":"dataInfo","start":3933,"end":3941,"appendix":[]}],"type":"expression","start":3932,"end":3940}]}]}],"type":"expression","start":3894,"end":3941},"start":3890,"end":3942,"appendix":[]}],"type":"expression","start":3890,"end":3941},"start":3868,"end":3942},{"type":"define","name":"data","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"dataInfo.spawn","start":3958,"end":3980,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"server","start":3973,"end":3979,"appendix":[]}],"type":"expression","start":3973,"end":3978}]}]}],"type":"expression","start":3958,"end":3979},"start":3943,"end":3980},{"terms":[{"operator":"=","term":{"type":"constant","name":"data.websomContainer","start":3985,"end":4005,"appendix":[]}},{"type":"constant","name":"container","start":4008,"end":4017,"appendix":[]}],"type":"expression","start":3981,"end":4017},{"terms":[{"type":"constant","name":"data.loadFromId","start":4022,"end":4102,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"container","start":4038,"end":4047,"appendix":[]}],"type":"expression","start":4038,"end":4046},{"terms":[{"type":"constant","name":"id","start":4049,"end":4051,"appendix":[]}],"type":"expression","start":4048,"end":4050},{"terms":[{"type":"function","output":{"name":"void","reference":0,"start":4053,"end":4057,"template":false},"parameters":[{"type":{"name":"string","reference":0,"start":4059,"end":4065,"template":false},"doc":[],"name":"err","optional":[]}],"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"done","start":4080,"end":4095,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"err","start":4085,"end":4088,"appendix":[]}],"type":"expression","start":4085,"end":4087},{"terms":[{"type":"constant","name":"data","start":4090,"end":4094,"appendix":[]}],"type":"expression","start":4089,"end":4093}]}]}],"type":"expression","start":4080,"end":4095}],"start":4074,"end":4100}}],"type":"expression","start":4052,"end":4100}]}]}],"type":"expression","start":4018,"end":4102}],"start":3712,"end":4106}},"output":{"name":"void","template":[]},"flags":["override","fixed"],"templates":[],"start":3583,"doc":[],"end":4106},{"type":"method","name":"onSend","value":{"type":"method","parameters":[{"type":{"name":"Websom.Request","reference":0,"start":4257,"end":4271,"template":false},"doc":[],"name":"req","optional":[]},{"type":{"name":"map","reference":0,"start":4277,"end":4280,"template":false},"doc":[],"name":"exposed","optional":[]},{"type":{"name":"function","reference":0,"start":4290,"end":4309,"template":[{"name":"void","reference":0,"start":4291,"end":4295,"template":false},{"name":"map","reference":0,"start":4296,"end":4300,"template":false}]},"doc":[],"name":"send","optional":[]}],"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"this.onComponentSend","start":4321,"end":4361,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"req","start":4342,"end":4345,"appendix":[]}],"type":"expression","start":4342,"end":4344},{"terms":[{"type":"constant","name":"exposed","start":4347,"end":4354,"appendix":[]}],"type":"expression","start":4346,"end":4353},{"terms":[{"type":"constant","name":"send","start":4356,"end":4360,"appendix":[]}],"type":"expression","start":4355,"end":4359}]}]}],"type":"expression","start":4321,"end":4361}],"start":4316,"end":4365}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":4107,"doc":["Override this method to customize the data exposed to the client before sending"],"end":4365},{"type":"method","name":"onComponentSend","value":{"type":"method","parameters":[{"type":{"name":"Websom.Request","reference":0,"start":4392,"end":4406,"template":false},"doc":[],"name":"req","optional":[]},{"type":{"name":"map","reference":0,"start":4412,"end":4415,"template":false},"doc":[],"name":"data","optional":[]},{"type":{"name":"function","reference":0,"start":4422,"end":4441,"template":[{"name":"void","reference":0,"start":4423,"end":4427,"template":false},{"name":"map","reference":0,"start":4428,"end":4432,"template":false}]},"doc":[],"name":"send","optional":[]}],"body":{"type":"block","code":[{"type":"define","name":"info","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"this.fetchFieldInfo","start":4464,"end":4485,"appendix":[{"type":"call","expression":[]}]}],"type":"expression","start":4464,"end":4484},"start":4453,"end":4485},{"type":"define","name":"componentFields","valueType":"","auto":true,"value":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"array","start":4516,"end":4541,"appendix":[{"type":"call","expression":[]}],"template":[{"name":"Websom.FieldInfo","reference":0,"start":4517,"end":4533,"template":false}]}],"type":"expression","start":4516,"end":4540},"start":4512,"end":4541,"appendix":[]}],"type":"expression","start":4512,"end":4540},"start":4486,"end":4541},{"type":"for","in":true,"define":{"type":"define","name":"i","end":4561,"start":4553,"valueType":{"name":"int","reference":0,"start":4557,"end":4560,"template":false}},"iterate":{"terms":[{"type":"constant","name":"info.fields","start":4566,"end":4577,"appendix":[]}],"type":"expression","start":4565,"end":4576},"body":{"type":"block","code":[{"type":"define","name":"field","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"info.fields","start":4597,"end":4611,"appendix":[{"type":"index","expression":{"terms":[{"type":"constant","name":"i","start":4609,"end":4610,"appendix":[]}],"type":"expression","start":4609,"end":4609}}]}],"type":"expression","start":4597,"end":4610},"start":4585,"end":4611},{"type":"if","alternatives":[],"check":{"type":"group","expression":{"terms":[{"type":"constant","name":"field.singleLink","start":4621,"end":4637,"appendix":[]}],"type":"expression","start":4621,"end":4636}},"body":{"type":"block","code":[{"type":"define","name":"fieldType","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"Websom.DataInfo.getDataInfoFromRoute","start":4662,"end":4715,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"field.typeRoute","start":4699,"end":4714,"appendix":[]}],"type":"expression","start":4699,"end":4713}]}]}],"type":"expression","start":4662,"end":4714},"start":4646,"end":4715},{"type":"if","alternatives":[],"check":{"type":"group","expression":{"terms":[{"operator":"in","term":{"type":"literal","literalType":"string","value":"Component","start":4726,"end":4737,"appendix":[]}},{"type":"constant","name":"fieldType.attributes","start":4741,"end":4761,"appendix":[]}],"type":"expression","start":4726,"end":4760}},"body":{"type":"block","code":[{"type":"if","alternatives":[],"check":{"type":"group","expression":{"terms":[{"operator":"!=","term":{"type":"constant","name":"this.getField","start":4773,"end":4802,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"field.realName","start":4787,"end":4801,"appendix":[]}],"type":"expression","start":4787,"end":4800}]}]}},{"type":"constant","name":"null","start":4806,"end":4810,"appendix":[]}],"type":"expression","start":4773,"end":4809}},"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"componentFields.push","start":4819,"end":4846,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"field","start":4840,"end":4845,"appendix":[]}],"type":"expression","start":4840,"end":4844}]}]}],"type":"expression","start":4819,"end":4846}],"start":4819,"end":4846},"start":4769,"end":4851}],"start":4769,"end":4851},"start":4716,"end":4851}],"start":4639,"end":4852},"start":4612,"end":4856}],"start":4579,"end":4857},"mode":"in","start":4542,"end":4857},{"type":"define","name":"completed","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"componentFields.length","start":4880,"end":4902,"appendix":[]}],"type":"expression","start":4880,"end":4901},"start":4858,"end":4902},{"type":"if","alternatives":[],"check":{"type":"group","expression":{"terms":[{"operator":"==","term":{"type":"constant","name":"completed","start":4913,"end":4922,"appendix":[]}},{"type":"literal","literalType":"number","value":0,"integer":true,"start":4926,"end":4927,"appendix":[]}],"type":"expression","start":4913,"end":4926}},"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"send","start":4935,"end":4945,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"data","start":4940,"end":4944,"appendix":[]}],"type":"expression","start":4940,"end":4943}]}]}],"type":"expression","start":4935,"end":4945},{"type":"return","expression":{"terms":[{"type":"constant","name":"null","start":4958,"end":4962,"appendix":[]}],"type":"expression","start":4958,"end":4961},"start":4946,"end":4962}],"start":4929,"end":4967},"start":4903,"end":4973},{"type":"define","name":"checkSend","valueType":"","auto":true,"value":{"terms":[{"type":"function","output":{"name":"void","reference":0,"start":4990,"end":4994,"template":false},"parameters":[],"body":{"type":"block","code":[{"terms":[{"operator":"--","term":{"type":"constant","name":"completed","start":5007,"end":5016,"appendix":[]}}],"type":"expression","start":5007,"end":5018},{"type":"if","alternatives":[],"check":{"type":"group","expression":{"terms":[{"operator":"==","term":{"type":"constant","name":"completed","start":5028,"end":5037,"appendix":[]}},{"type":"literal","literalType":"number","value":0,"integer":true,"start":5041,"end":5042,"appendix":[]}],"type":"expression","start":5028,"end":5041}},"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"send","start":5049,"end":5059,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"data","start":5054,"end":5058,"appendix":[]}],"type":"expression","start":5054,"end":5057}]}]}],"type":"expression","start":5049,"end":5059}],"start":5049,"end":5059},"start":5019,"end":5063}],"start":5001,"end":5064}}],"type":"expression","start":4990,"end":5064},"start":4974,"end":5065},{"type":"for","in":true,"define":{"type":"define","name":"i","end":5085,"start":5077,"valueType":{"name":"int","reference":0,"start":5081,"end":5084,"template":false}},"iterate":{"terms":[{"type":"constant","name":"componentFields","start":5090,"end":5105,"appendix":[]}],"type":"expression","start":5089,"end":5104},"body":{"type":"block","code":[{"type":"define","name":"field","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"componentFields","start":5125,"end":5143,"appendix":[{"type":"index","expression":{"terms":[{"type":"constant","name":"i","start":5141,"end":5142,"appendix":[]}],"type":"expression","start":5141,"end":5141}}]}],"type":"expression","start":5125,"end":5142},"start":5113,"end":5143},{"type":"define","name":"component","valueType":{"name":"Websom.Data","reference":0,"start":5153,"end":5164,"template":false},"value":{"terms":[{"type":"constant","name":"this.getField","start":5177,"end":5206,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"field.realName","start":5191,"end":5205,"appendix":[]}],"type":"expression","start":5191,"end":5204}]}]}],"type":"expression","start":5177,"end":5205},"start":5144,"end":5206},{"terms":[{"type":"constant","name":"component.onSend","start":5212,"end":5341,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"req","start":5229,"end":5232,"appendix":[]}],"type":"expression","start":5229,"end":5231},{"terms":[{"type":"constant","name":"data","start":5234,"end":5254,"appendix":[{"type":"index","expression":{"terms":[{"type":"constant","name":"field.realName","start":5239,"end":5253,"appendix":[]}],"type":"expression","start":5239,"end":5252}}]}],"type":"expression","start":5233,"end":5253},{"terms":[{"type":"function","output":{"name":"void","reference":0,"start":5256,"end":5260,"template":false},"parameters":[{"type":{"name":"map","reference":0,"start":5262,"end":5265,"template":false},"doc":[],"name":"newData","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"data","start":5285,"end":5305,"appendix":[{"type":"index","expression":{"terms":[{"type":"constant","name":"field.realName","start":5290,"end":5304,"appendix":[]}],"type":"expression","start":5290,"end":5303}}]}},{"type":"constant","name":"newData","start":5308,"end":5315,"appendix":[]}],"type":"expression","start":5285,"end":5315},{"terms":[{"type":"constant","name":"checkSend","start":5322,"end":5333,"appendix":[{"type":"call","expression":[]}]}],"type":"expression","start":5316,"end":5333}],"start":5278,"end":5339}}],"type":"expression","start":5255,"end":5339}]}]}],"type":"expression","start":5207,"end":5341}],"start":5107,"end":5346},"mode":"in","start":5066,"end":5346}],"start":4448,"end":5350}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":4366,"doc":[],"end":5350},{"type":"method","name":"structureTable","value":{"type":"method","parameters":[],"body":{"type":"block","code":[],"start":5404,"end":5410}},"output":{"name":"Websom.DatabaseStructure","template":[]},"flags":["fixed"],"templates":[],"start":5351,"doc":[],"end":5410},{"type":"method","name":"getFieldContainer","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":5454,"end":5460,"template":false},"doc":[],"name":"fieldName","optional":[]}],"body":{"type":"block","code":[{"type":"define","name":"dataInfo","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"this.fetchFieldInfo","start":5492,"end":5513,"appendix":[{"type":"call","expression":[]}]}],"type":"expression","start":5492,"end":5512},"start":5477,"end":5513},{"type":"define","name":"fieldInfo","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"dataInfo.getField","start":5534,"end":5562,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"fieldName","start":5552,"end":5561,"appendix":[]}],"type":"expression","start":5552,"end":5560}]}]}],"type":"expression","start":5534,"end":5561},"start":5514,"end":5562},{"type":"define","name":"link","valueType":{"name":"Websom.DatabaseFlags.Linked","reference":0,"start":5571,"end":5598,"template":false},"value":{"terms":[{"type":"constant","name":"fieldInfo.structure.getFlag","start":5606,"end":5643,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"string","value":"linked","start":5634,"end":5642,"appendix":[]}],"type":"expression","start":5634,"end":5641}]}]}],"type":"expression","start":5606,"end":5642},"start":5563,"end":5643},{"type":"if","alternatives":[],"check":{"type":"group","expression":{"terms":[{"operator":"==","term":{"type":"constant","name":"link","start":5652,"end":5656,"appendix":[]}},{"type":"constant","name":"null","start":5660,"end":5664,"appendix":[]}],"type":"expression","start":5652,"end":5663}},"body":{"type":"block","code":[{"type":"return","expression":{"terms":[{"type":"constant","name":"null","start":5679,"end":5683,"appendix":[]}],"type":"expression","start":5679,"end":5682},"start":5672,"end":5683}],"start":5666,"end":5688},"start":5644,"end":5696},{"type":"define","name":"cast","valueType":{"name":"Websom.Containers.Table","reference":0,"start":5701,"end":5724,"template":false},"value":{"terms":[{"type":"constant","name":"this.websomContainer","start":5732,"end":5752,"appendix":[]}],"type":"expression","start":5732,"end":5751},"start":5697,"end":5752},{"type":"return","expression":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.Containers.Table","start":5770,"end":5896,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"this.websomServer","start":5794,"end":5811,"appendix":[]}],"type":"expression","start":5794,"end":5810},{"terms":[{"operator":"+","term":{"type":"constant","name":"cast.table","start":5813,"end":5823,"appendix":[]}},{"operator":"+","term":{"type":"literal","literalType":"string","value":"_","start":5826,"end":5829,"appendix":[]}},{"type":"constant","name":"fieldName","start":5832,"end":5841,"appendix":[]}],"type":"expression","start":5812,"end":5840},{"terms":[{"type":"constant","name":"Websom.DataInfo.getDataInfoFromRoute","start":5843,"end":5895,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"link.fieldType","start":5880,"end":5894,"appendix":[]}],"type":"expression","start":5880,"end":5893}]}]}],"type":"expression","start":5842,"end":5894}]}]}],"type":"expression","start":5770,"end":5895},"start":5766,"end":5896,"appendix":[]}],"type":"expression","start":5766,"end":5895},"start":5753,"end":5896}],"start":5472,"end":5900}},"output":{"name":"Websom.Container","template":[]},"flags":[],"templates":[],"start":5411,"doc":[],"end":5900},{"type":"method","name":"nativeLoadFromMap","value":{"type":"method","parameters":[{"type":{"name":"map","reference":0,"start":5929,"end":5932,"template":false},"doc":[],"name":"raw","optional":[]},{"type":{"name":"function","reference":0,"start":5938,"end":5960,"template":[{"name":"void","reference":0,"start":5939,"end":5943,"template":false},{"name":"string","reference":0,"start":5944,"end":5951,"template":false}]},"doc":[],"name":"done","optional":[]}],"body":{"type":"block","code":[{"type":"native","platform":"javascript","content":"\r\n\t\t\tthis.loadFromMap(raw, done);\r\n\t\t","start":5972,"end":6028},{"type":"native","platform":"php","content":"\r\n\t\t\t$this->loadFromMap($raw, $done);\r\n\t\t","start":6029,"end":6088}],"start":5967,"end":6092}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":5901,"doc":[],"end":6092},{"type":"method","name":"exposeToClient","value":{"type":"method","parameters":[],"body":{"type":"block","code":[{"type":"native","platform":"javascript","content":"\r\n\t\t\treturn this.exposeToClientBase();\r\n\t\t","start":6133,"end":6194},{"type":"native","platform":"php","content":"\r\n\t\t\treturn $this->exposeToClientBase();\r\n\t\t","start":6195,"end":6257}],"start":6128,"end":6261}},"output":{"name":"map","template":[]},"flags":["override"],"templates":[],"start":6093,"doc":[],"end":6261},{"type":"method","name":"linkedExpose","value":{"type":"method","parameters":[],"body":{"type":"block","code":[],"start":6296,"end":6304}},"output":{"name":"void","template":[]},"flags":["override"],"templates":[],"start":6262,"doc":[],"end":6304},{"type":"method","name":"fetchFieldInfo","value":{"type":"method","parameters":[],"body":{"type":"block","code":[{"type":"define","name":"info","valueType":{"name":"Websom.DataInfo","reference":0,"start":6352,"end":6367,"template":false},"value":{"terms":[{"type":"constant","name":"null","start":6375,"end":6379,"appendix":[]}],"type":"expression","start":6375,"end":6378},"start":6348,"end":6379},{"type":"native","platform":"javascript","content":"\r\n\t\t\tinfo = this.constructor.getInfo();\r\n\t\t","start":6380,"end":6450},{"type":"native","platform":"php","content":"\r\n\t\t\t$info = self::getInfo();\r\n\t\t","start":6451,"end":6502},{"type":"return","expression":{"terms":[{"type":"constant","name":"info","start":6516,"end":6520,"appendix":[]}],"type":"expression","start":6516,"end":6519},"start":6503,"end":6520}],"start":6343,"end":6524}},"output":{"name":"Websom.DataInfo","template":[]},"flags":[],"templates":[],"start":6305,"doc":[],"end":6524},{"type":"method","name":"getPrimary","value":{"type":"method","parameters":[],"body":{"type":"block","code":[{"type":"define","name":"fi","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"this.fetchFieldInfo","start":6574,"end":6595,"appendix":[{"type":"call","expression":[]}]}],"type":"expression","start":6574,"end":6594},"start":6565,"end":6595},{"type":"for","in":true,"define":{"type":"define","name":"i","end":6613,"start":6605,"valueType":{"name":"int","reference":0,"start":6609,"end":6612,"template":false}},"iterate":{"terms":[{"type":"constant","name":"fi.fields","start":6618,"end":6627,"appendix":[]}],"type":"expression","start":6617,"end":6626},"body":{"type":"block","code":[{"type":"define","name":"field","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"fi.fields","start":6647,"end":6659,"appendix":[{"type":"index","expression":{"terms":[{"type":"constant","name":"i","start":6657,"end":6658,"appendix":[]}],"type":"expression","start":6657,"end":6657}}]}],"type":"expression","start":6647,"end":6658},"start":6635,"end":6659},{"type":"for","in":true,"define":{"type":"define","name":"f","end":6678,"start":6670,"valueType":{"name":"int","reference":0,"start":6674,"end":6677,"template":false}},"iterate":{"terms":[{"type":"constant","name":"field.structure.flags","start":6683,"end":6704,"appendix":[]}],"type":"expression","start":6682,"end":6703},"body":{"type":"block","code":[{"type":"if","alternatives":[],"check":{"type":"group","expression":{"terms":[{"operator":"==","term":{"type":"constant","name":"field.structure.flags","start":6717,"end":6746,"appendix":[{"type":"index","expression":{"terms":[{"type":"constant","name":"f","start":6739,"end":6740,"appendix":[]}],"type":"expression","start":6739,"end":6739}},{"type":"dot","name":"type"}]}},{"type":"literal","literalType":"string","value":"primary","start":6750,"end":6759,"appendix":[]}],"type":"expression","start":6717,"end":6758}},"body":{"type":"block","code":[{"type":"return","expression":{"terms":[{"type":"constant","name":"field","start":6774,"end":6779,"appendix":[]}],"type":"expression","start":6774,"end":6778},"start":6767,"end":6779}],"start":6767,"end":6779},"start":6713,"end":6784}],"start":6706,"end":6785},"mode":"in","start":6660,"end":6785}],"start":6629,"end":6790},"mode":"in","start":6596,"end":6790},{"type":"return","expression":{"terms":[{"type":"constant","name":"null","start":6804,"end":6808,"appendix":[]}],"type":"expression","start":6804,"end":6807},"start":6791,"end":6808}],"start":6560,"end":6812}},"output":{"name":"Websom.FieldInfo","template":[]},"flags":[],"templates":[],"start":6525,"doc":[],"end":6812},{"type":"method","name":"getFieldFromName","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":6845,"end":6851,"template":false},"doc":[],"name":"realName","optional":[]}],"body":{"type":"block","code":[{"type":"native","platform":"javascript","content":" return this[realName]; ","start":6867,"end":6910},{"type":"native","platform":"php","content":" return $this->$realName; ","start":6911,"end":6953}],"start":6862,"end":6957}},"output":{"name":"primitive","template":[]},"flags":[],"templates":[],"start":6813,"doc":[],"end":6957},{"type":"method","name":"containerInsert","value":{"type":"method","parameters":[{"type":{"name":"Websom.Input","reference":0,"start":6984,"end":6996,"template":false},"doc":[],"name":"input","optional":[]},{"type":{"name":"Websom.Container","reference":0,"start":7004,"end":7020,"template":false},"doc":[],"name":"container","optional":[]},{"type":{"name":"Websom.DatabaseInsert","reference":0,"start":7032,"end":7053,"template":false},"doc":[],"name":"insert","optional":[]},{"type":{"name":"map","reference":0,"start":7062,"end":7065,"template":false},"doc":[],"name":"data","optional":[]},{"type":{"name":"function","reference":0,"start":7072,"end":7086,"template":[{"name":"void","reference":0,"start":7073,"end":7077,"template":false}]},"doc":[],"name":"done","optional":[]}],"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"done","start":7098,"end":7104,"appendix":[{"type":"call","expression":[]}]}],"type":"expression","start":7098,"end":7104}],"start":7093,"end":7108}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":6958,"doc":[],"end":7108},{"type":"method","name":"containerUpdate","value":{"type":"method","parameters":[{"type":{"name":"Websom.Input","reference":0,"start":7136,"end":7148,"template":false},"doc":[],"name":"input","optional":[]},{"type":{"name":"Websom.Container","reference":0,"start":7156,"end":7172,"template":false},"doc":[],"name":"container","optional":[]},{"type":{"name":"Websom.DatabaseSelect","reference":0,"start":7184,"end":7205,"template":false},"doc":[],"name":"update","optional":[]},{"type":{"name":"map","reference":0,"start":7214,"end":7217,"template":false},"doc":[],"name":"data","optional":[]},{"type":{"name":"function","reference":0,"start":7224,"end":7238,"template":[{"name":"void","reference":0,"start":7225,"end":7229,"template":false}]},"doc":[],"name":"done","optional":[]}],"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"done","start":7250,"end":7256,"appendix":[{"type":"call","expression":[]}]}],"type":"expression","start":7250,"end":7256}],"start":7245,"end":7260}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":7109,"doc":[],"end":7260},{"type":"method","name":"update","value":{"type":"method","parameters":[{"type":{"name":"function","reference":0,"start":7278,"end":7300,"template":[{"name":"void","reference":0,"start":7279,"end":7283,"template":false},{"name":"string","reference":0,"start":7284,"end":7291,"template":false}]},"doc":[],"name":"done","optional":[]}],"body":{"type":"block","code":[{"type":"if","alternatives":[],"check":{"type":"group","expression":{"terms":[{"type":"constant","name":"this.websomContainer","start":7316,"end":7336,"appendix":[]}],"type":"expression","start":7316,"end":7335}},"body":{"type":"block","code":[{"type":"define","name":"field","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"this.getPrimary","start":7356,"end":7373,"appendix":[{"type":"call","expression":[]}]}],"type":"expression","start":7356,"end":7372},"start":7344,"end":7373},{"type":"define","name":"cast","valueType":{"name":"Websom.Containers.Table","reference":0,"start":7383,"end":7406,"template":false},"value":{"terms":[{"type":"constant","name":"this.websomContainer","start":7414,"end":7434,"appendix":[]}],"type":"expression","start":7414,"end":7433},"start":7374,"end":7434},{"type":"define","name":"table","valueType":"","auto":true,"value":{"terms":[{"type":"literal","literalType":"string","value":"unkown","start":7452,"end":7460,"appendix":[]}],"type":"expression","start":7452,"end":7459},"start":7435,"end":7460},{"terms":[{"operator":"=","term":{"type":"constant","name":"table","start":7466,"end":7471,"appendix":[]}},{"type":"constant","name":"cast.table","start":7474,"end":7484,"appendix":[]}],"type":"expression","start":7461,"end":7484},{"type":"if","alternatives":[],"check":{"type":"group","expression":{"terms":[{"type":"constant","name":"field","start":7494,"end":7499,"appendix":[]}],"type":"expression","start":7494,"end":7498}},"body":{"type":"block","code":[{"type":"define","name":"update","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"this.websomContainer.server.database.primary.from","start":7521,"end":7661,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"table","start":7571,"end":7576,"appendix":[]}],"type":"expression","start":7571,"end":7575}]},{"type":"dot","name":"where"},{"type":"call","expression":[{"terms":[{"type":"constant","name":"field.fieldName","start":7590,"end":7605,"appendix":[]}],"type":"expression","start":7590,"end":7604}]},{"type":"dot","name":"equals"},{"type":"call","expression":[{"terms":[{"type":"constant","name":"this.getFieldFromName","start":7614,"end":7651,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"field.realName","start":7636,"end":7650,"appendix":[]}],"type":"expression","start":7636,"end":7649}]}]}],"type":"expression","start":7614,"end":7650}]},{"type":"dot","name":"update"},{"type":"call","expression":[]}]}],"type":"expression","start":7521,"end":7660},"start":7508,"end":7661},{"terms":[{"type":"constant","name":"this.buildUpdate","start":7668,"end":7692,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"update","start":7685,"end":7691,"appendix":[]}],"type":"expression","start":7685,"end":7690}]}]}],"type":"expression","start":7662,"end":7692},{"terms":[{"type":"constant","name":"update.run","start":7699,"end":7774,"appendix":[{"type":"call","expression":[{"terms":[{"type":"function","output":{"name":"void","reference":0,"start":7710,"end":7714,"template":false},"parameters":[{"type":{"name":"string","reference":0,"start":7716,"end":7722,"template":false},"doc":[],"name":"err","optional":[]},{"type":{"name":"array","reference":0,"start":7728,"end":7738,"template":[{"name":"map","reference":0,"start":7729,"end":7732,"template":false}]},"doc":[],"name":"docs","optional":[]}],"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"done","start":7756,"end":7765,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"err","start":7761,"end":7764,"appendix":[]}],"type":"expression","start":7761,"end":7763}]}]}],"type":"expression","start":7756,"end":7765}],"start":7748,"end":7772}}],"type":"expression","start":7710,"end":7772}]}]}],"type":"expression","start":7693,"end":7774}],"start":7501,"end":7780},"start":7485,"end":7790}],"start":7338,"end":7791},"start":7312,"end":7794}],"start":7307,"end":7795}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":7261,"doc":[],"end":7795},{"type":"method","name":"insert","value":{"type":"method","parameters":[{"type":{"name":"function","reference":0,"start":7813,"end":7846,"template":[{"name":"void","reference":0,"start":7814,"end":7818,"template":false},{"name":"string","reference":0,"start":7819,"end":7826,"template":false},{"name":"primitive","reference":0,"start":7827,"end":7837,"template":false}]},"doc":[],"name":"done","optional":[]}],"body":{"type":"block","code":[{"type":"if","alternatives":[],"check":{"type":"group","expression":{"terms":[{"type":"constant","name":"this.websomContainer","start":7862,"end":7882,"appendix":[]}],"type":"expression","start":7862,"end":7881}},"body":{"type":"block","code":[{"type":"define","name":"cast","valueType":{"name":"Websom.Containers.Table","reference":0,"start":7894,"end":7917,"template":false},"value":{"terms":[{"type":"constant","name":"this.websomContainer","start":7925,"end":7945,"appendix":[]}],"type":"expression","start":7925,"end":7944},"start":7890,"end":7945},{"type":"define","name":"table","valueType":"","auto":true,"value":{"terms":[{"type":"literal","literalType":"string","value":"unkown","start":7963,"end":7971,"appendix":[]}],"type":"expression","start":7963,"end":7970},"start":7946,"end":7971},{"terms":[{"operator":"=","term":{"type":"constant","name":"table","start":7977,"end":7982,"appendix":[]}},{"type":"constant","name":"cast.table","start":7985,"end":7995,"appendix":[]}],"type":"expression","start":7972,"end":7995},{"type":"define","name":"insert","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"this.websomContainer.server.database.primary.into","start":8014,"end":8070,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"table","start":8064,"end":8069,"appendix":[]}],"type":"expression","start":8064,"end":8068}]}]}],"type":"expression","start":8014,"end":8069},"start":7996,"end":8070},{"terms":[{"type":"constant","name":"this.buildInsert","start":8076,"end":8100,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"insert","start":8093,"end":8099,"appendix":[]}],"type":"expression","start":8093,"end":8098}]}]}],"type":"expression","start":8071,"end":8100},{"terms":[{"type":"constant","name":"insert.run","start":8106,"end":8182,"appendix":[{"type":"call","expression":[{"terms":[{"type":"function","output":{"name":"void","reference":0,"start":8117,"end":8121,"template":false},"parameters":[{"type":{"name":"string","reference":0,"start":8123,"end":8129,"template":false},"doc":[],"name":"err","optional":[]},{"type":{"name":"primitive","reference":0,"start":8135,"end":8144,"template":false},"doc":[],"name":"key","optional":[]}],"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"done","start":8160,"end":8174,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"err","start":8165,"end":8168,"appendix":[]}],"type":"expression","start":8165,"end":8167},{"terms":[{"type":"constant","name":"key","start":8170,"end":8173,"appendix":[]}],"type":"expression","start":8169,"end":8172}]}]}],"type":"expression","start":8160,"end":8174}],"start":8153,"end":8180}}],"type":"expression","start":8117,"end":8180}]}]}],"type":"expression","start":8101,"end":8182}],"start":7884,"end":8187},"start":7858,"end":8190}],"start":7853,"end":8191}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":7796,"doc":[],"end":8191},{"type":"method","name":"buildInsert","value":{"type":"method","parameters":[{"type":{"name":"Websom.DatabaseInsert","reference":0,"start":8214,"end":8235,"template":false},"doc":[],"name":"insert","optional":[]}],"body":{"type":"block","code":[{"type":"define","name":"info","valueType":{"name":"Websom.DataInfo","reference":0,"start":8253,"end":8268,"template":false},"value":{"terms":[{"type":"constant","name":"this.fetchFieldInfo","start":8276,"end":8297,"appendix":[{"type":"call","expression":[]}]}],"type":"expression","start":8276,"end":8296},"start":8249,"end":8297},{"type":"native","platform":"javascript","content":"\r\n\t\t\tif (this.parentId)\r\n\t\t\t\tinsert.set(\"parentId\", this.parentId);\r\n\t\t","start":8298,"end":8427},{"type":"native","platform":"php","content":"\r\n\t\t\tif (property_exists($this, \"parentId\"))\r\n\t\t\t\t$insert->set(\"parentId\", $this->parentId);\r\n\t\t","start":8428,"end":8542},{"type":"for","in":true,"define":{"type":"define","name":"i","end":8562,"start":8554,"valueType":{"name":"int","reference":0,"start":8558,"end":8561,"template":false}},"iterate":{"terms":[{"type":"constant","name":"info.fields","start":8567,"end":8578,"appendix":[]}],"type":"expression","start":8566,"end":8577},"body":{"type":"block","code":[{"type":"define","name":"field","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"info.fields","start":8598,"end":8612,"appendix":[{"type":"index","expression":{"terms":[{"type":"constant","name":"i","start":8610,"end":8611,"appendix":[]}],"type":"expression","start":8610,"end":8610}}]}],"type":"expression","start":8598,"end":8611},"start":8586,"end":8612},{"type":"define","name":"value","valueType":{"name":"primitive","reference":0,"start":8622,"end":8631,"template":false},"value":{"terms":[{"type":"constant","name":"null","start":8640,"end":8644,"appendix":[]}],"type":"expression","start":8640,"end":8643},"start":8613,"end":8644},{"type":"native","platform":"javascript","content":"\r\n\t\t\t\tvalue = this[field.realName];\r\n\t\t\t","start":8645,"end":8714},{"type":"native","platform":"php","content":"\r\n\t\t\t\t$real = $field->realName;\r\n\t\t\t\t$value = $this->$real;\r\n\t\t\t","start":8715,"end":8798},{"type":"define","name":"type","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"value.typeAsString","start":8817,"end":8837,"appendix":[{"type":"call","expression":[]}]}],"type":"expression","start":8817,"end":8836},"start":8799,"end":8837},{"type":"if","alternatives":[{"type":"elseif","check":{"type":"group","expression":{"terms":[{"operator":"==","term":{"type":"constant","name":"type","start":8961,"end":8965,"appendix":[]}},{"type":"literal","literalType":"string","value":"boolean","start":8969,"end":8978,"appendix":[]}],"type":"expression","start":8961,"end":8977}},"body":{"type":"block","code":[{"type":"define","name":"setVal","valueType":"","auto":true,"value":{"terms":[{"type":"literal","literalType":"number","value":0,"integer":true,"start":9000,"end":9001,"appendix":[]}],"type":"expression","start":9000,"end":9000},"start":8987,"end":9001},{"type":"if","alternatives":[],"check":{"type":"group","expression":{"terms":[{"type":"constant","name":"value","start":9012,"end":9017,"appendix":[]}],"type":"expression","start":9012,"end":9016}},"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"setVal","start":9019,"end":9025,"appendix":[]}},{"type":"literal","literalType":"number","value":1,"integer":true,"start":9028,"end":9029,"appendix":[]}],"type":"expression","start":9019,"end":9029}],"start":9019,"end":9029},"start":9002,"end":9035},{"terms":[{"type":"constant","name":"insert.set","start":9036,"end":9071,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"field.fieldName","start":9047,"end":9062,"appendix":[]}],"type":"expression","start":9047,"end":9061},{"terms":[{"type":"constant","name":"setVal","start":9064,"end":9070,"appendix":[]}],"type":"expression","start":9063,"end":9069}]}]}],"type":"expression","start":9036,"end":9071}],"start":8980,"end":9077}}],"check":{"type":"group","expression":{"terms":[{"operator":"==","term":{"type":"constant","name":"type","start":8849,"end":8853,"appendix":[]}},{"operator":"or","term":{"type":"literal","literalType":"string","value":"integer","start":8857,"end":8866,"appendix":[]}},{"operator":"==","term":{"type":"constant","name":"type","start":8870,"end":8874,"appendix":[]}},{"operator":"or","term":{"type":"literal","literalType":"string","value":"float","start":8878,"end":8885,"appendix":[]}},{"operator":"==","term":{"type":"constant","name":"type","start":8889,"end":8893,"appendix":[]}},{"type":"literal","literalType":"string","value":"string","start":8897,"end":8905,"appendix":[]}],"type":"expression","start":8849,"end":8904}},"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"insert.set","start":8912,"end":8946,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"field.fieldName","start":8923,"end":8938,"appendix":[]}],"type":"expression","start":8923,"end":8937},{"terms":[{"type":"constant","name":"value","start":8940,"end":8945,"appendix":[]}],"type":"expression","start":8939,"end":8944}]}]}],"type":"expression","start":8912,"end":8946}],"start":8912,"end":8946},"start":8838,"end":9077}],"start":8580,"end":9082},"mode":"in","start":8543,"end":9082}],"start":8244,"end":9086}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":8192,"doc":[],"end":9086},{"type":"method","name":"buildUpdate","value":{"type":"method","parameters":[{"type":{"name":"Websom.DatabaseSelect","reference":0,"start":9109,"end":9130,"template":false},"doc":[],"name":"select","optional":[]}],"body":{"type":"block","code":[{"type":"define","name":"info","valueType":{"name":"Websom.DataInfo","reference":0,"start":9148,"end":9163,"template":false},"value":{"terms":[{"type":"constant","name":"this.fetchFieldInfo","start":9171,"end":9192,"appendix":[{"type":"call","expression":[]}]}],"type":"expression","start":9171,"end":9191},"start":9144,"end":9192},{"type":"native","platform":"javascript","content":"\r\n\t\t\tif (this.parentId)\r\n\t\t\t\tupdate.set(\"parentId\", this.parentId);\r\n\t\t","start":9193,"end":9320},{"type":"native","platform":"php","content":"\r\n\t\t\tif (property_exists($this, \"parentId\"))\r\n\t\t\t\t$update->set(\"parentId\", $this->parentId);\r\n\t\t","start":9321,"end":9435},{"type":"for","in":true,"define":{"type":"define","name":"i","end":9455,"start":9447,"valueType":{"name":"int","reference":0,"start":9451,"end":9454,"template":false}},"iterate":{"terms":[{"type":"constant","name":"info.fields","start":9460,"end":9471,"appendix":[]}],"type":"expression","start":9459,"end":9470},"body":{"type":"block","code":[{"type":"define","name":"field","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"info.fields","start":9491,"end":9505,"appendix":[{"type":"index","expression":{"terms":[{"type":"constant","name":"i","start":9503,"end":9504,"appendix":[]}],"type":"expression","start":9503,"end":9503}}]}],"type":"expression","start":9491,"end":9504},"start":9479,"end":9505},{"type":"define","name":"value","valueType":{"name":"primitive","reference":0,"start":9515,"end":9524,"template":false},"value":{"terms":[{"type":"constant","name":"null","start":9533,"end":9537,"appendix":[]}],"type":"expression","start":9533,"end":9536},"start":9506,"end":9537},{"type":"native","platform":"javascript","content":"\r\n\t\t\t\tvalue = this[field.realName];\r\n\t\t\t","start":9538,"end":9607},{"type":"native","platform":"php","content":"\r\n\t\t\t\t$real = $field->realName;\r\n\t\t\t\t$value = $this->$real;\r\n\t\t\t","start":9608,"end":9691},{"type":"define","name":"type","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"value.typeAsString","start":9710,"end":9730,"appendix":[{"type":"call","expression":[]}]}],"type":"expression","start":9710,"end":9729},"start":9692,"end":9730},{"type":"if","alternatives":[{"type":"elseif","check":{"type":"group","expression":{"terms":[{"operator":"==","term":{"type":"constant","name":"type","start":9854,"end":9858,"appendix":[]}},{"type":"literal","literalType":"string","value":"boolean","start":9862,"end":9871,"appendix":[]}],"type":"expression","start":9854,"end":9870}},"body":{"type":"block","code":[{"type":"define","name":"setVal","valueType":"","auto":true,"value":{"terms":[{"type":"literal","literalType":"number","value":0,"integer":true,"start":9893,"end":9894,"appendix":[]}],"type":"expression","start":9893,"end":9893},"start":9880,"end":9894},{"type":"if","alternatives":[],"check":{"type":"group","expression":{"terms":[{"type":"constant","name":"value","start":9905,"end":9910,"appendix":[]}],"type":"expression","start":9905,"end":9909}},"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"setVal","start":9912,"end":9918,"appendix":[]}},{"type":"literal","literalType":"number","value":1,"integer":true,"start":9921,"end":9922,"appendix":[]}],"type":"expression","start":9912,"end":9922}],"start":9912,"end":9922},"start":9895,"end":9928},{"terms":[{"type":"constant","name":"select.set","start":9929,"end":9964,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"field.fieldName","start":9940,"end":9955,"appendix":[]}],"type":"expression","start":9940,"end":9954},{"terms":[{"type":"constant","name":"setVal","start":9957,"end":9963,"appendix":[]}],"type":"expression","start":9956,"end":9962}]}]}],"type":"expression","start":9929,"end":9964}],"start":9873,"end":9970}}],"check":{"type":"group","expression":{"terms":[{"operator":"==","term":{"type":"constant","name":"type","start":9742,"end":9746,"appendix":[]}},{"operator":"or","term":{"type":"literal","literalType":"string","value":"integer","start":9750,"end":9759,"appendix":[]}},{"operator":"==","term":{"type":"constant","name":"type","start":9763,"end":9767,"appendix":[]}},{"operator":"or","term":{"type":"literal","literalType":"string","value":"float","start":9771,"end":9778,"appendix":[]}},{"operator":"==","term":{"type":"constant","name":"type","start":9782,"end":9786,"appendix":[]}},{"type":"literal","literalType":"string","value":"string","start":9790,"end":9798,"appendix":[]}],"type":"expression","start":9742,"end":9797}},"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"select.set","start":9805,"end":9839,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"field.fieldName","start":9816,"end":9831,"appendix":[]}],"type":"expression","start":9816,"end":9830},{"terms":[{"type":"constant","name":"value","start":9833,"end":9838,"appendix":[]}],"type":"expression","start":9832,"end":9837}]}]}],"type":"expression","start":9805,"end":9839}],"start":9805,"end":9839},"start":9731,"end":9970}],"start":9473,"end":9975},"mode":"in","start":9436,"end":9975}],"start":9139,"end":9979}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":9087,"doc":[],"end":9979}],"templates":[],"start":0,"end":9982}},{"type": "class", "base": "class", "flags": ["header"], "templates": [], "route": "Websom.DataInfo", "name": "DataInfo", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "info",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "name",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "linked",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "linkedTable",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "attributes",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "fields",  "output": {"name": "array", "template": [{"name": "Websom.FieldInfo", "template": []}]}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "name", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "loadFromMap",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "info", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "getField",  "output": {"name": "Websom.FieldInfo", "template": []}, "arguments": [{"optional": "false", "name": "name", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "hasField",  "output": {"name": "bool", "template": []}, "arguments": [{"optional": "false", "name": "name", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "buildStructure",  "output": {"name": "Websom.DatabaseStructure", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "spawn",  "output": {"name": "Websom.Data", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "fixed", "name": "getDataInfoFromRoute",  "output": {"name": "Websom.DataInfo", "template": []}, "arguments": [{"optional": "false", "name": "route", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "buildLinkedStructures",  "output": {"name": "array", "template": [{"name": "Websom.DatabaseStructure", "template": []}]}, "arguments": [{"optional": "false", "name": "parentName", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "expose", "flags": ["trust"],  "output": {"name": "string", "template": []}, "arguments": [{"optional": "false", "name": "raw", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}}], "isImplicitAsync": false, "isAsync": false}], "raw": {"type":"class","doc":[],"flags":["header"],"name":"Websom.DataInfo","members":[{"type":"property","name":"info","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":10031,"end":10035,"appendix":[]}],"type":"expression","start":10031,"end":10034}},"output":{"name":"map","template":[]},"flags":[],"templates":[],"start":10020,"doc":[],"end":10035},{"type":"property","name":"name","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":10053,"end":10055,"appendix":[]}],"type":"expression","start":10053,"end":10054}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":10036,"doc":[],"end":10055},{"type":"property","name":"linked","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"boolean","value":false,"start":10076,"end":10081,"appendix":[]}],"type":"expression","start":10076,"end":10080}},"output":{"name":"bool","template":[]},"flags":[],"templates":[],"start":10056,"doc":[],"end":10081},{"type":"property","name":"linkedTable","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":10106,"end":10108,"appendix":[]}],"type":"expression","start":10106,"end":10107}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":10082,"doc":[],"end":10108},{"type":"property","name":"attributes","value":{"type":"property","value":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"map","start":10135,"end":10140,"appendix":[{"type":"call","expression":[]}]}],"type":"expression","start":10135,"end":10139},"start":10131,"end":10140,"appendix":[]}],"type":"expression","start":10131,"end":10139}},"output":{"name":"map","template":[]},"flags":[],"templates":[],"start":10109,"doc":[],"end":10140},{"type":"property","doc":[],"output":{"name":"array","reference":0,"start":10146,"end":10169,"template":[{"name":"Websom.FieldInfo","reference":0,"start":10147,"end":10163,"template":false}]},"name":"fields","value":{"type":"property","value":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"array","start":10183,"end":10208,"appendix":[{"type":"call","expression":[]}],"template":[{"name":"Websom.FieldInfo","reference":0,"start":10184,"end":10200,"template":false}]}],"type":"expression","start":10183,"end":10207},"start":10179,"end":10208,"appendix":[]}],"type":"expression","start":10179,"end":10207}},"flags":[],"templates":[],"start":10141,"end":10208},{"type":"method","name":"@construct","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":10230,"end":10236,"template":false},"doc":[],"name":"name","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.name","start":10248,"end":10257,"appendix":[]}},{"type":"constant","name":"name","start":10260,"end":10264,"appendix":[]}],"type":"expression","start":10248,"end":10264}],"start":10243,"end":10268}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":10209,"doc":[],"end":10268},{"type":"method","name":"loadFromMap","value":{"type":"method","parameters":[{"type":{"name":"map","reference":0,"start":10291,"end":10294,"template":false},"doc":[],"name":"info","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.info","start":10306,"end":10315,"appendix":[]}},{"type":"constant","name":"info","start":10318,"end":10322,"appendix":[]}],"type":"expression","start":10306,"end":10322}],"start":10301,"end":10326}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":10269,"doc":[],"end":10326},{"type":"method","name":"getField","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":10358,"end":10364,"template":false},"doc":[],"name":"name","optional":[]}],"body":{"type":"block","code":[{"type":"for","in":true,"define":{"type":"define","name":"i","end":10389,"start":10381,"valueType":{"name":"int","reference":0,"start":10385,"end":10388,"template":false}},"iterate":{"terms":[{"type":"constant","name":"this.fields","start":10394,"end":10405,"appendix":[]}],"type":"expression","start":10393,"end":10404},"body":{"type":"block","code":[{"type":"if","alternatives":[],"check":{"type":"group","expression":{"terms":[{"operator":"==","term":{"type":"constant","name":"this.fields","start":10417,"end":10440,"appendix":[{"type":"index","expression":{"terms":[{"type":"constant","name":"i","start":10429,"end":10430,"appendix":[]}],"type":"expression","start":10429,"end":10429}},{"type":"dot","name":"realName"}]}},{"type":"constant","name":"name","start":10444,"end":10448,"appendix":[]}],"type":"expression","start":10417,"end":10447}},"body":{"type":"block","code":[{"type":"return","expression":{"terms":[{"type":"constant","name":"this.fields","start":10462,"end":10476,"appendix":[{"type":"index","expression":{"terms":[{"type":"constant","name":"i","start":10474,"end":10475,"appendix":[]}],"type":"expression","start":10474,"end":10474}}]}],"type":"expression","start":10462,"end":10475},"start":10455,"end":10476}],"start":10455,"end":10476},"start":10413,"end":10480}],"start":10407,"end":10481},"mode":"in","start":10376,"end":10481},{"type":"return","expression":{"terms":[{"type":"constant","name":"null","start":10493,"end":10497,"appendix":[]}],"type":"expression","start":10493,"end":10496},"start":10482,"end":10497}],"start":10371,"end":10501}},"output":{"name":"Websom.FieldInfo","template":[]},"flags":[],"templates":[],"start":10327,"doc":[],"end":10501},{"type":"method","name":"hasField","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":10521,"end":10527,"template":false},"doc":[],"name":"name","optional":[]}],"body":{"type":"block","code":[{"type":"for","in":true,"define":{"type":"define","name":"i","end":10552,"start":10544,"valueType":{"name":"int","reference":0,"start":10548,"end":10551,"template":false}},"iterate":{"terms":[{"type":"constant","name":"this.fields","start":10557,"end":10568,"appendix":[]}],"type":"expression","start":10556,"end":10567},"body":{"type":"block","code":[{"type":"if","alternatives":[],"check":{"type":"group","expression":{"terms":[{"operator":"==","term":{"type":"constant","name":"this.fields","start":10580,"end":10603,"appendix":[{"type":"index","expression":{"terms":[{"type":"constant","name":"i","start":10592,"end":10593,"appendix":[]}],"type":"expression","start":10592,"end":10592}},{"type":"dot","name":"realName"}]}},{"type":"constant","name":"name","start":10607,"end":10611,"appendix":[]}],"type":"expression","start":10580,"end":10610}},"body":{"type":"block","code":[{"type":"return","expression":{"terms":[{"type":"literal","literalType":"boolean","value":true,"start":10625,"end":10629,"appendix":[]}],"type":"expression","start":10625,"end":10628},"start":10618,"end":10629}],"start":10618,"end":10629},"start":10576,"end":10633}],"start":10570,"end":10634},"mode":"in","start":10539,"end":10634},{"type":"return","expression":{"terms":[{"type":"literal","literalType":"boolean","value":false,"start":10646,"end":10651,"appendix":[]}],"type":"expression","start":10646,"end":10650},"start":10635,"end":10651}],"start":10534,"end":10655}},"output":{"name":"bool","template":[]},"flags":[],"templates":[],"start":10502,"doc":[],"end":10655},{"type":"method","name":"buildStructure","value":{"type":"method","parameters":[],"body":{"type":"block","code":[{"type":"define","name":"str","valueType":"","auto":true,"value":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.DatabaseStructure","start":10722,"end":10756,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"null","start":10747,"end":10751,"appendix":[]}],"type":"expression","start":10747,"end":10750},{"terms":[{"type":"literal","literalType":"string","value":"","start":10753,"end":10755,"appendix":[]}],"type":"expression","start":10752,"end":10754}]}]}],"type":"expression","start":10722,"end":10755},"start":10718,"end":10756,"appendix":[]}],"type":"expression","start":10718,"end":10755},"start":10708,"end":10756},{"type":"for","in":true,"define":{"type":"define","name":"i","end":10776,"start":10768,"valueType":{"name":"int","reference":0,"start":10772,"end":10775,"template":false}},"iterate":{"terms":[{"type":"constant","name":"this.fields","start":10781,"end":10792,"appendix":[]}],"type":"expression","start":10780,"end":10791},"body":{"type":"block","code":[{"type":"define","name":"hasField","valueType":"","auto":true,"value":{"terms":[{"type":"literal","literalType":"boolean","value":true,"start":10815,"end":10819,"appendix":[]}],"type":"expression","start":10815,"end":10818},"start":10800,"end":10819},{"type":"if","alternatives":[],"check":{"type":"group","expression":{"terms":[{"type":"constant","name":"this.fields","start":10834,"end":10859,"appendix":[{"type":"index","expression":{"terms":[{"type":"constant","name":"i","start":10846,"end":10847,"appendix":[]}],"type":"expression","start":10846,"end":10846}},{"type":"dot","name":"singleLink"}]}],"type":"expression","start":10834,"end":10858}},"body":{"type":"block","code":[{"type":"define","name":"subInfo","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"Websom.DataInfo.getDataInfoFromRoute","start":10882,"end":10944,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"this.fields","start":10919,"end":10943,"appendix":[{"type":"index","expression":{"terms":[{"type":"constant","name":"i","start":10931,"end":10932,"appendix":[]}],"type":"expression","start":10931,"end":10931}},{"type":"dot","name":"typeRoute"}]}],"type":"expression","start":10919,"end":10942}]}]}],"type":"expression","start":10882,"end":10943},"start":10868,"end":10944},{"type":"if","alternatives":[],"check":{"type":"group","expression":{"terms":[{"operator":"in","term":{"type":"literal","literalType":"string","value":"Component","start":10955,"end":10966,"appendix":[]}},{"type":"constant","name":"subInfo.attributes","start":10970,"end":10988,"appendix":[]}],"type":"expression","start":10955,"end":10987}},"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"hasField","start":10998,"end":11006,"appendix":[]}},{"type":"literal","literalType":"boolean","value":false,"start":11009,"end":11014,"appendix":[]}],"type":"expression","start":10998,"end":11014},{"type":"for","define":{"type":"define","name":"j","valueType":{"name":"int","reference":0,"start":11031,"end":11034,"template":false},"value":{"terms":[{"type":"literal","literalType":"number","value":0,"integer":true,"start":11039,"end":11040,"appendix":[]}],"type":"expression","start":11039,"end":11039}},"iterate":{"terms":[{"operator":"++","term":{"type":"constant","name":"j","start":11069,"end":11070,"appendix":[]}}],"type":"expression","start":11069,"end":11071},"check":{"terms":[{"operator":"<","term":{"type":"constant","name":"j","start":11042,"end":11043,"appendix":[]}},{"type":"constant","name":"subInfo.fields.length","start":11046,"end":11067,"appendix":[]}],"type":"expression","start":11042,"end":11066},"body":{"type":"block","code":[{"type":"define","name":"sField","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"subInfo.fields","start":11096,"end":11113,"appendix":[{"type":"index","expression":{"terms":[{"type":"constant","name":"j","start":11111,"end":11112,"appendix":[]}],"type":"expression","start":11111,"end":11111}}]}],"type":"expression","start":11096,"end":11112},"start":11083,"end":11113},{"type":"if","alternatives":[],"check":{"type":"group","expression":{"terms":[{"operator":"in","term":{"type":"literal","literalType":"string","value":"Parent","start":11126,"end":11134,"appendix":[]}},{"type":"constant","name":"sField.attributes","start":11138,"end":11155,"appendix":[]}],"type":"expression","start":11126,"end":11154}},"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"str.fields.push","start":11167,"end":11200,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"sField.structure","start":11183,"end":11199,"appendix":[]}],"type":"expression","start":11183,"end":11198}]}]}],"type":"expression","start":11167,"end":11200}],"start":11157,"end":11209},"start":11114,"end":11216}],"start":11074,"end":11217},"start":11015,"end":11217}],"start":10990,"end":11224},"start":10945,"end":11229}],"start":10861,"end":11230},"start":10820,"end":11237},{"type":"if","alternatives":[],"check":{"type":"group","expression":{"terms":[{"type":"group","expression":{"terms":[{"operator":"in","term":{"type":"literal","literalType":"string","value":"Parent","start":11243,"end":11251,"appendix":[]}},{"type":"constant","name":"this.fields","start":11255,"end":11280,"appendix":[{"type":"index","expression":{"terms":[{"type":"constant","name":"i","start":11267,"end":11268,"appendix":[]}],"type":"expression","start":11267,"end":11267}},{"type":"dot","name":"attributes"}]}],"type":"expression","start":11243,"end":11279},"start":11242,"end":11281,"appendix":[]}],"type":"expression","start":11242,"end":11280}},"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"hasField","start":11288,"end":11296,"appendix":[]}},{"type":"literal","literalType":"boolean","value":false,"start":11299,"end":11304,"appendix":[]}],"type":"expression","start":11288,"end":11304}],"start":11288,"end":11304},"start":11238,"end":11314},{"type":"if","alternatives":[],"check":{"type":"group","expression":{"terms":[{"type":"constant","name":"hasField","start":11319,"end":11327,"appendix":[]}],"type":"expression","start":11319,"end":11326}},"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"str.fields.push","start":11334,"end":11375,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"this.fields","start":11350,"end":11374,"appendix":[{"type":"index","expression":{"terms":[{"type":"constant","name":"i","start":11362,"end":11363,"appendix":[]}],"type":"expression","start":11362,"end":11362}},{"type":"dot","name":"structure"}]}],"type":"expression","start":11350,"end":11373}]}]}],"type":"expression","start":11334,"end":11375}],"start":11334,"end":11375},"start":11315,"end":11379}],"start":10794,"end":11380},"mode":"in","start":10757,"end":11380},{"type":"return","expression":{"terms":[{"type":"constant","name":"str","start":11396,"end":11399,"appendix":[]}],"type":"expression","start":11396,"end":11398},"start":11381,"end":11399}],"start":10703,"end":11403}},"output":{"name":"Websom.DatabaseStructure","template":[]},"flags":[],"templates":[],"start":10656,"doc":[],"end":11403},{"type":"method","name":"spawn","value":{"type":"method","parameters":[{"type":{"name":"Websom.Server","reference":0,"start":11427,"end":11440,"template":false},"doc":[],"name":"server","optional":[]}],"body":{"type":"block","code":[{"type":"native","platform":"javascript","content":"\r\n\t\t\tvar splits = this.name.split(\".\");\r\n\t\t\tvar cur = global;\r\n\t\t\tfor (var split of splits)\r\n\t\t\t\tcur = cur[split];\r\n\r\n\t\t\treturn new cur(server);\r\n\t\t","start":11454,"end":11621},{"type":"native","platform":"php","content":"\r\n\t\t\t$clsName = str_replace(\".\", \"_\", $this->name);\r\n\t\t\treturn new $clsName($server);\r\n\t\t","start":11622,"end":11729}],"start":11449,"end":11733}},"output":{"name":"Websom.Data","template":[]},"flags":[],"templates":[],"start":11404,"doc":[],"end":11733},{"type":"method","name":"getDataInfoFromRoute","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":11782,"end":11788,"template":false},"doc":[],"name":"route","optional":[]}],"body":{"type":"block","code":[{"type":"native","platform":"javascript","content":"\r\n\t\t\tvar splits = route.split(\".\");\r\n\t\t\tvar cur = global;\r\n\t\t\tfor (var split of splits)\r\n\t\t\t\tcur = cur[split];\r\n\r\n\t\t\treturn cur.getInfo();\r\n\t\t","start":11801,"end":11962},{"type":"native","platform":"php","content":"\r\n\t\t\t$clsName = str_replace(\".\", \"_\", $route);\r\n\t\t\treturn $clsName::getInfo();\r\n\t\t","start":11963,"end":12063}],"start":11796,"end":12067}},"output":{"name":"Websom.DataInfo","template":[]},"flags":["fixed"],"templates":[],"start":11734,"doc":[],"end":12067},{"type":"method","doc":[],"output":{"name":"array","reference":0,"start":12073,"end":12104,"template":[{"name":"Websom.DatabaseStructure","reference":0,"start":12074,"end":12098,"template":false}]},"name":"buildLinkedStructures","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":12127,"end":12133,"template":false},"doc":[],"name":"parentName","optional":[]}],"body":{"type":"block","code":[{"type":"define","name":"strs","valueType":"","auto":true,"value":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"array","start":12166,"end":12199,"appendix":[{"type":"call","expression":[]}],"template":[{"name":"Websom.DatabaseStructure","reference":0,"start":12167,"end":12191,"template":false}]}],"type":"expression","start":12166,"end":12198},"start":12162,"end":12199,"appendix":[]}],"type":"expression","start":12162,"end":12198},"start":12151,"end":12199},{"type":"for","in":true,"define":{"type":"define","name":"i","end":12221,"start":12213,"valueType":{"name":"int","reference":0,"start":12217,"end":12220,"template":false}},"iterate":{"terms":[{"type":"constant","name":"this.fields","start":12226,"end":12237,"appendix":[]}],"type":"expression","start":12225,"end":12236},"body":{"type":"block","code":[{"type":"define","name":"field","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"this.fields","start":12257,"end":12271,"appendix":[{"type":"index","expression":{"terms":[{"type":"constant","name":"i","start":12269,"end":12270,"appendix":[]}],"type":"expression","start":12269,"end":12269}}]}],"type":"expression","start":12257,"end":12270},"start":12245,"end":12271},{"type":"for","in":true,"define":{"type":"define","name":"f","end":12290,"start":12282,"valueType":{"name":"int","reference":0,"start":12286,"end":12289,"template":false}},"iterate":{"terms":[{"type":"constant","name":"field.structure.flags","start":12295,"end":12316,"appendix":[]}],"type":"expression","start":12294,"end":12315},"body":{"type":"block","code":[{"type":"define","name":"flag","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"field.structure.flags","start":12336,"end":12360,"appendix":[{"type":"index","expression":{"terms":[{"type":"constant","name":"f","start":12358,"end":12359,"appendix":[]}],"type":"expression","start":12358,"end":12358}}]}],"type":"expression","start":12336,"end":12359},"start":12325,"end":12360},{"type":"if","alternatives":[],"check":{"type":"group","expression":{"terms":[{"operator":"==","term":{"type":"constant","name":"flag.type","start":12371,"end":12380,"appendix":[]}},{"type":"literal","literalType":"string","value":"linked","start":12384,"end":12392,"appendix":[]}],"type":"expression","start":12371,"end":12391}},"body":{"type":"block","code":[{"type":"define","name":"linked","valueType":{"name":"Websom.DatabaseFlags.Linked","reference":0,"start":12406,"end":12433,"template":false},"value":{"terms":[{"type":"constant","name":"flag","start":12443,"end":12447,"appendix":[]}],"type":"expression","start":12443,"end":12446},"start":12402,"end":12447},{"type":"if","alternatives":[],"check":{"type":"group","expression":{"terms":[{"operator":"==","term":{"type":"constant","name":"linked.name","start":12459,"end":12470,"appendix":[]}},{"type":"constant","name":"null","start":12474,"end":12478,"appendix":[]}],"type":"expression","start":12459,"end":12477}},"body":{"type":"block","code":[{"type":"define","name":"dataInfo","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"Websom.DataInfo.getDataInfoFromRoute","start":12504,"end":12558,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"linked.fieldType","start":12541,"end":12557,"appendix":[]}],"type":"expression","start":12541,"end":12556}]}]}],"type":"expression","start":12504,"end":12557},"start":12489,"end":12558},{"type":"define","name":"str","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"dataInfo.buildStructure","start":12577,"end":12602,"appendix":[{"type":"call","expression":[]}]}],"type":"expression","start":12577,"end":12601},"start":12559,"end":12602},{"type":"if","alternatives":[{"type":"elseif","check":{"type":"group","expression":{"terms":[{"operator":"==","term":{"type":"constant","name":"linked.linkType","start":13310,"end":13325,"appendix":[]}},{"type":"literal","literalType":"string","value":"map","start":13329,"end":13334,"appendix":[]}],"type":"expression","start":13310,"end":13333}},"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"str.fields.push","start":13346,"end":13431,"appendix":[{"type":"call","expression":[{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.DatabaseField","start":13366,"end":13430,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"string","value":"parentId","start":13387,"end":13397,"appendix":[]}],"type":"expression","start":13387,"end":13396},{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.DatabaseTypes.Int","start":13403,"end":13429,"appendix":[{"type":"call","expression":[]}]}],"type":"expression","start":13403,"end":13428},"start":13399,"end":13429,"appendix":[]}],"type":"expression","start":13398,"end":13428}]}]}],"type":"expression","start":13366,"end":13429},"start":13362,"end":13430,"appendix":[]}],"type":"expression","start":13362,"end":13429}]}]}],"type":"expression","start":13346,"end":13431},{"terms":[{"type":"constant","name":"str.fields.push","start":13441,"end":13531,"appendix":[{"type":"call","expression":[{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.DatabaseField","start":13461,"end":13530,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"string","value":"mapKey","start":13482,"end":13490,"appendix":[]}],"type":"expression","start":13482,"end":13489},{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.DatabaseTypes.Varchar","start":13496,"end":13529,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"number","value":256,"integer":true,"start":13525,"end":13528,"appendix":[]}],"type":"expression","start":13525,"end":13527}]}]}],"type":"expression","start":13496,"end":13528},"start":13492,"end":13529,"appendix":[]}],"type":"expression","start":13491,"end":13528}]}]}],"type":"expression","start":13461,"end":13529},"start":13457,"end":13530,"appendix":[]}],"type":"expression","start":13457,"end":13529}]}]}],"type":"expression","start":13432,"end":13531}],"start":13336,"end":13540}},{"type":"elseif","check":{"type":"group","expression":{"terms":[{"operator":"in","term":{"type":"literal","literalType":"string","value":"Component","start":13550,"end":13561,"appendix":[]}},{"type":"constant","name":"dataInfo.attributes","start":13565,"end":13584,"appendix":[]}],"type":"expression","start":13550,"end":13583}},"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"str.fields.push","start":13596,"end":13681,"appendix":[{"type":"call","expression":[{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.DatabaseField","start":13616,"end":13680,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"string","value":"parentId","start":13637,"end":13647,"appendix":[]}],"type":"expression","start":13637,"end":13646},{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.DatabaseTypes.Int","start":13653,"end":13679,"appendix":[{"type":"call","expression":[]}]}],"type":"expression","start":13653,"end":13678},"start":13649,"end":13679,"appendix":[]}],"type":"expression","start":13648,"end":13678}]}]}],"type":"expression","start":13616,"end":13679},"start":13612,"end":13680,"appendix":[]}],"type":"expression","start":13612,"end":13679}]}]}],"type":"expression","start":13596,"end":13681}],"start":13586,"end":13690}}],"check":{"type":"group","expression":{"terms":[{"operator":"==","term":{"type":"constant","name":"linked.linkType","start":12623,"end":12638,"appendix":[]}},{"type":"literal","literalType":"string","value":"array","start":12642,"end":12649,"appendix":[]}],"type":"expression","start":12623,"end":12648}},"body":{"type":"block","code":[{"type":"if","alternatives":[],"check":{"type":"group","expression":{"terms":[{"operator":"in","term":{"type":"literal","literalType":"string","value":"Linked","start":12665,"end":12673,"appendix":[]}},{"type":"constant","name":"dataInfo.attributes","start":12677,"end":12696,"appendix":[]}],"type":"expression","start":12665,"end":12695}},"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"str","start":12709,"end":12712,"appendix":[]}},{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.DatabaseStructure","start":12719,"end":12753,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"null","start":12744,"end":12748,"appendix":[]}],"type":"expression","start":12744,"end":12747},{"terms":[{"type":"literal","literalType":"string","value":"","start":12750,"end":12752,"appendix":[]}],"type":"expression","start":12749,"end":12751}]}]}],"type":"expression","start":12719,"end":12752},"start":12715,"end":12753,"appendix":[]}],"type":"expression","start":12709,"end":12753},{"type":"define","name":"id","valueType":"","auto":true,"value":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.DatabaseField","start":12777,"end":12835,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"string","value":"id","start":12798,"end":12802,"appendix":[]}],"type":"expression","start":12798,"end":12801},{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.DatabaseTypes.Int","start":12808,"end":12834,"appendix":[{"type":"call","expression":[]}]}],"type":"expression","start":12808,"end":12833},"start":12804,"end":12834,"appendix":[]}],"type":"expression","start":12803,"end":12833}]}]}],"type":"expression","start":12777,"end":12834},"start":12773,"end":12835,"appendix":[]}],"type":"expression","start":12773,"end":12834},"start":12754,"end":12835},{"terms":[{"type":"constant","name":"id.flags.push","start":12846,"end":12895,"appendix":[{"type":"call","expression":[{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.DatabaseFlags.Primary","start":12864,"end":12894,"appendix":[{"type":"call","expression":[]}]}],"type":"expression","start":12864,"end":12893},"start":12860,"end":12894,"appendix":[]}],"type":"expression","start":12860,"end":12893}]}]}],"type":"expression","start":12836,"end":12895},{"terms":[{"type":"constant","name":"id.flags.push","start":12906,"end":12961,"appendix":[{"type":"call","expression":[{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.DatabaseFlags.AutoIncrement","start":12924,"end":12960,"appendix":[{"type":"call","expression":[]}]}],"type":"expression","start":12924,"end":12959},"start":12920,"end":12960,"appendix":[]}],"type":"expression","start":12920,"end":12959}]}]}],"type":"expression","start":12896,"end":12961},{"terms":[{"type":"constant","name":"str.fields.push","start":12972,"end":12991,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"id","start":12988,"end":12990,"appendix":[]}],"type":"expression","start":12988,"end":12989}]}]}],"type":"expression","start":12962,"end":12991},{"terms":[{"type":"constant","name":"str.fields.push","start":13002,"end":13087,"appendix":[{"type":"call","expression":[{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.DatabaseField","start":13022,"end":13086,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"string","value":"linkedId","start":13043,"end":13053,"appendix":[]}],"type":"expression","start":13043,"end":13052},{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.DatabaseTypes.Int","start":13059,"end":13085,"appendix":[{"type":"call","expression":[]}]}],"type":"expression","start":13059,"end":13084},"start":13055,"end":13085,"appendix":[]}],"type":"expression","start":13054,"end":13084}]}]}],"type":"expression","start":13022,"end":13085},"start":13018,"end":13086,"appendix":[]}],"type":"expression","start":13018,"end":13085}]}]}],"type":"expression","start":12992,"end":13087}],"start":12698,"end":13097},"start":12661,"end":13108},{"terms":[{"type":"constant","name":"str.fields.push","start":13109,"end":13194,"appendix":[{"type":"call","expression":[{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.DatabaseField","start":13129,"end":13193,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"string","value":"parentId","start":13150,"end":13160,"appendix":[]}],"type":"expression","start":13150,"end":13159},{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.DatabaseTypes.Int","start":13166,"end":13192,"appendix":[{"type":"call","expression":[]}]}],"type":"expression","start":13166,"end":13191},"start":13162,"end":13192,"appendix":[]}],"type":"expression","start":13161,"end":13191}]}]}],"type":"expression","start":13129,"end":13192},"start":13125,"end":13193,"appendix":[]}],"type":"expression","start":13125,"end":13192}]}]}],"type":"expression","start":13109,"end":13194},{"terms":[{"type":"constant","name":"str.fields.push","start":13204,"end":13291,"appendix":[{"type":"call","expression":[{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.DatabaseField","start":13224,"end":13290,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"string","value":"arrayIndex","start":13245,"end":13257,"appendix":[]}],"type":"expression","start":13245,"end":13256},{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.DatabaseTypes.Int","start":13263,"end":13289,"appendix":[{"type":"call","expression":[]}]}],"type":"expression","start":13263,"end":13288},"start":13259,"end":13289,"appendix":[]}],"type":"expression","start":13258,"end":13288}]}]}],"type":"expression","start":13224,"end":13289},"start":13220,"end":13290,"appendix":[]}],"type":"expression","start":13220,"end":13289}]}]}],"type":"expression","start":13195,"end":13291}],"start":12651,"end":13300},"start":12603,"end":13690},{"type":"if","alternatives":[],"check":{"type":"group","expression":{"terms":[{"operator":"==","term":{"type":"group","expression":{"terms":[{"operator":"in","term":{"type":"literal","literalType":"string","value":"Linked","start":13706,"end":13714,"appendix":[]}},{"type":"constant","name":"dataInfo.attributes","start":13718,"end":13737,"appendix":[]}],"type":"expression","start":13706,"end":13736},"start":13705,"end":13738,"appendix":[]}},{"type":"literal","literalType":"boolean","value":false,"start":13742,"end":13747,"appendix":[]}],"type":"expression","start":13705,"end":13746}},"body":{"type":"block","code":[{"type":"define","name":"subs","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"dataInfo.buildLinkedStructures","start":13770,"end":13816,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"field.realName","start":13801,"end":13815,"appendix":[]}],"type":"expression","start":13801,"end":13814}]}]}],"type":"expression","start":13770,"end":13815},"start":13759,"end":13816},{"type":"for","in":true,"define":{"type":"define","name":"s","end":13871,"start":13863,"valueType":{"name":"int","reference":0,"start":13867,"end":13870,"template":false}},"iterate":{"terms":[{"type":"constant","name":"subs","start":13876,"end":13880,"appendix":[]}],"type":"expression","start":13875,"end":13879},"body":{"type":"block","code":[{"type":"define","name":"sub","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"subs","start":13903,"end":13910,"appendix":[{"type":"index","expression":{"terms":[{"type":"constant","name":"s","start":13908,"end":13909,"appendix":[]}],"type":"expression","start":13908,"end":13908}}]}],"type":"expression","start":13903,"end":13909},"start":13893,"end":13910},{"terms":[{"operator":"=","term":{"type":"constant","name":"sub.table","start":13921,"end":13930,"appendix":[]}},{"operator":"+","term":{"type":"constant","name":"field.realName","start":13933,"end":13947,"appendix":[]}},{"operator":"+","term":{"type":"literal","literalType":"string","value":"_","start":13950,"end":13953,"appendix":[]}},{"type":"constant","name":"sub.table","start":13956,"end":13965,"appendix":[]}],"type":"expression","start":13911,"end":13965},{"terms":[{"type":"constant","name":"strs.push","start":13976,"end":13990,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"sub","start":13986,"end":13989,"appendix":[]}],"type":"expression","start":13986,"end":13988}]}]}],"type":"expression","start":13966,"end":13990}],"start":13882,"end":14000},"mode":"in","start":13817,"end":14000}],"start":13749,"end":14009},"start":13691,"end":14019},{"terms":[{"operator":"=","term":{"type":"constant","name":"str.table","start":14020,"end":14029,"appendix":[]}},{"type":"constant","name":"field.realName","start":14032,"end":14046,"appendix":[]}],"type":"expression","start":14020,"end":14046},{"terms":[{"type":"constant","name":"strs.push","start":14055,"end":14069,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"str","start":14065,"end":14068,"appendix":[]}],"type":"expression","start":14065,"end":14067}]}]}],"type":"expression","start":14047,"end":14069}],"start":12480,"end":14077},"start":12448,"end":14083}],"start":12394,"end":14084},"start":12361,"end":14089}],"start":12318,"end":14090},"mode":"in","start":12272,"end":14090}],"start":12239,"end":14095},"mode":"in","start":12200,"end":14095},{"type":"return","expression":{"terms":[{"type":"constant","name":"strs","start":14111,"end":14115,"appendix":[]}],"type":"expression","start":14111,"end":14114},"start":14096,"end":14115}],"start":12146,"end":14119}},"flags":[],"templates":[],"start":12068,"end":14119},{"type":"method","name":"expose","value":{"type":"method","parameters":[{"type":{"name":"map","reference":0,"start":14145,"end":14148,"template":false},"doc":[],"name":"raw","optional":[]}],"body":{"type":"block","code":[{"type":"define","name":"out","valueType":{"name":"array","reference":0,"start":14163,"end":14176,"template":[{"name":"string","reference":0,"start":14164,"end":14170,"template":false}]},"value":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"array","start":14187,"end":14202,"appendix":[{"type":"call","expression":[]}],"template":[{"name":"string","reference":0,"start":14188,"end":14194,"template":false}]}],"type":"expression","start":14187,"end":14201},"start":14183,"end":14202,"appendix":[]}],"type":"expression","start":14183,"end":14201},"start":14159,"end":14202},{"type":"for","in":true,"define":{"type":"define","name":"i","end":14224,"start":14216,"valueType":{"name":"int","reference":0,"start":14220,"end":14223,"template":false}},"iterate":{"terms":[{"type":"constant","name":"this.fields","start":14229,"end":14240,"appendix":[]}],"type":"expression","start":14228,"end":14239},"body":{"type":"block","code":[{"type":"define","name":"field","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"this.fields","start":14260,"end":14274,"appendix":[{"type":"index","expression":{"terms":[{"type":"constant","name":"i","start":14272,"end":14273,"appendix":[]}],"type":"expression","start":14272,"end":14272}}]}],"type":"expression","start":14260,"end":14273},"start":14248,"end":14274},{"type":"if","alternatives":[],"check":{"type":"group","expression":{"terms":[{"type":"constant","name":"field.expose","start":14286,"end":14298,"appendix":[]}],"type":"expression","start":14286,"end":14297}},"body":{"type":"block","code":[{"type":"define","name":"type","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"raw","start":14318,"end":14353,"appendix":[{"type":"index","expression":{"terms":[{"type":"constant","name":"field.fieldName","start":14322,"end":14337,"appendix":[]}],"type":"expression","start":14322,"end":14336}},{"type":"dot","name":"typeAsString"},{"type":"call","expression":[]}]}],"type":"expression","start":14318,"end":14352},"start":14307,"end":14353},{"type":"if","alternatives":[{"type":"elseif","check":{"type":"group","expression":{"terms":[{"operator":"==","term":{"type":"constant","name":"type","start":14518,"end":14522,"appendix":[]}},{"type":"literal","literalType":"string","value":"bool","start":14526,"end":14532,"appendix":[]}],"type":"expression","start":14518,"end":14531}},"body":{"type":"block","code":[{"type":"define","name":"val","valueType":"","auto":true,"value":{"terms":[{"type":"literal","literalType":"string","value":"false","start":14552,"end":14559,"appendix":[]}],"type":"expression","start":14552,"end":14558},"start":14542,"end":14559},{"type":"if","alternatives":[],"check":{"type":"group","expression":{"terms":[{"operator":"==","term":{"type":"constant","name":"raw","start":14571,"end":14591,"appendix":[{"type":"index","expression":{"terms":[{"type":"constant","name":"field.fieldName","start":14575,"end":14590,"appendix":[]}],"type":"expression","start":14575,"end":14589}}]}},{"type":"literal","literalType":"number","value":1,"integer":true,"start":14595,"end":14596,"appendix":[]}],"type":"expression","start":14571,"end":14595}},"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"val","start":14605,"end":14608,"appendix":[]}},{"type":"literal","literalType":"string","value":"true","start":14611,"end":14617,"appendix":[]}],"type":"expression","start":14605,"end":14617}],"start":14605,"end":14617},"start":14560,"end":14626},{"terms":[{"type":"constant","name":"out.push","start":14627,"end":14671,"appendix":[{"type":"call","expression":[{"terms":[{"operator":"+","term":{"type":"literal","literalType":"string","value":"\"","start":14636,"end":14639,"appendix":[]}},{"operator":"+","term":{"type":"constant","name":"field.realName","start":14642,"end":14656,"appendix":[]}},{"operator":"+","term":{"type":"literal","literalType":"string","value":"\": ","start":14659,"end":14664,"appendix":[]}},{"type":"constant","name":"val","start":14667,"end":14670,"appendix":[]}],"type":"expression","start":14636,"end":14669}]}]}],"type":"expression","start":14627,"end":14671}],"start":14534,"end":14678}},{"type":"elseif","check":{"type":"group","expression":{"terms":[{"operator":"==","term":{"type":"constant","name":"type","start":14688,"end":14692,"appendix":[]}},{"operator":"or","term":{"type":"literal","literalType":"string","value":"float","start":14696,"end":14703,"appendix":[]}},{"operator":"==","term":{"type":"constant","name":"type","start":14707,"end":14711,"appendix":[]}},{"type":"literal","literalType":"string","value":"integer","start":14715,"end":14724,"appendix":[]}],"type":"expression","start":14688,"end":14723}},"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"out.push","start":14734,"end":14795,"appendix":[{"type":"call","expression":[{"terms":[{"operator":"+","term":{"type":"literal","literalType":"string","value":"\"","start":14743,"end":14746,"appendix":[]}},{"operator":"+","term":{"type":"constant","name":"field.realName","start":14749,"end":14763,"appendix":[]}},{"operator":"+","term":{"type":"literal","literalType":"string","value":"\": ","start":14766,"end":14771,"appendix":[]}},{"type":"constant","name":"raw","start":14774,"end":14794,"appendix":[{"type":"index","expression":{"terms":[{"type":"constant","name":"field.fieldName","start":14778,"end":14793,"appendix":[]}],"type":"expression","start":14778,"end":14792}}]}],"type":"expression","start":14743,"end":14793}]}]}],"type":"expression","start":14734,"end":14795}],"start":14726,"end":14802}}],"check":{"type":"group","expression":{"terms":[{"operator":"==","term":{"type":"constant","name":"type","start":14364,"end":14368,"appendix":[]}},{"type":"literal","literalType":"string","value":"string","start":14372,"end":14380,"appendix":[]}],"type":"expression","start":14364,"end":14379}},"body":{"type":"block","code":[{"type":"define","name":"cast","valueType":{"name":"string","reference":0,"start":14394,"end":14400,"template":false},"value":{"terms":[{"type":"constant","name":"raw","start":14408,"end":14428,"appendix":[{"type":"index","expression":{"terms":[{"type":"constant","name":"field.fieldName","start":14412,"end":14427,"appendix":[]}],"type":"expression","start":14412,"end":14426}}]}],"type":"expression","start":14408,"end":14427},"start":14390,"end":14428},{"terms":[{"type":"constant","name":"out.push","start":14436,"end":14501,"appendix":[{"type":"call","expression":[{"terms":[{"operator":"+","term":{"type":"literal","literalType":"string","value":"\"","start":14445,"end":14448,"appendix":[]}},{"operator":"+","term":{"type":"constant","name":"field.realName","start":14451,"end":14465,"appendix":[]}},{"operator":"+","term":{"type":"literal","literalType":"string","value":"\": ","start":14468,"end":14473,"appendix":[]}},{"type":"constant","name":"Websom.Json.encode","start":14476,"end":14500,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"cast","start":14495,"end":14499,"appendix":[]}],"type":"expression","start":14495,"end":14498}]}]}],"type":"expression","start":14445,"end":14499}]}]}],"type":"expression","start":14429,"end":14501}],"start":14382,"end":14508},"start":14354,"end":14802}],"start":14300,"end":14808},"start":14275,"end":14812}],"start":14242,"end":14813},"mode":"in","start":14203,"end":14813},{"type":"return","expression":{"terms":[{"operator":"+","term":{"type":"literal","literalType":"string","value":"{","start":14827,"end":14830,"appendix":[]}},{"operator":"+","term":{"type":"constant","name":"out.join","start":14833,"end":14847,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"string","value":", ","start":14842,"end":14846,"appendix":[]}],"type":"expression","start":14842,"end":14845}]}]}},{"type":"literal","literalType":"string","value":"}","start":14850,"end":14853,"appendix":[]}],"type":"expression","start":14827,"end":14852},"start":14814,"end":14853}],"start":14154,"end":14857}},"output":{"name":"string","template":[]},"flags":["trust"],"templates":[],"start":14120,"doc":[],"end":14857}],"templates":[],"start":9983,"end":14860}},{"type": "class", "base": "class", "flags": ["header"], "templates": [], "route": "Websom.FieldInfo", "name": "FieldInfo", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "realName",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "fieldName",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "typeRoute",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "controlClass",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "isPrimitive",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "isComplex",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "onlyServer",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "singleLink",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "canBeNull",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "expose",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "attributes",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "structure",  "output": {"name": "Websom.DatabaseField", "template": []}},{"type": "property", "binding": "bound", "name": "default",  "output": {"name": "void", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "realName", "type": {"name": "string", "template": []}},{"optional": "false", "name": "fieldName", "type": {"name": "string", "template": []}},{"optional": "false", "name": "typeRoute", "type": {"name": "string", "template": []}},{"optional": "false", "name": "structure", "type": {"name": "Websom.DatabaseField", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "isComponent",  "output": {"name": "bool", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false}], "raw": {"type":"class","doc":[],"flags":["header"],"name":"Websom.FieldInfo","members":[{"type":"property","name":"realName","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":14917,"end":14919,"appendix":[]}],"type":"expression","start":14917,"end":14918}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":14899,"doc":[],"end":14919},{"type":"property","name":"fieldName","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":14942,"end":14944,"appendix":[]}],"type":"expression","start":14942,"end":14943}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":14920,"doc":[],"end":14944},{"type":"property","name":"typeRoute","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":14967,"end":14969,"appendix":[]}],"type":"expression","start":14967,"end":14968}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":14945,"doc":[],"end":14969},{"type":"property","name":"controlClass","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":14995,"end":14997,"appendix":[]}],"type":"expression","start":14995,"end":14996}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":14970,"doc":[],"end":14997},{"type":"property","name":"isPrimitive","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"boolean","value":true,"start":15042,"end":15046,"appendix":[]}],"type":"expression","start":15042,"end":15045}},"output":{"name":"bool","template":[]},"flags":[],"templates":[],"start":14998,"doc":[],"end":15046},{"type":"property","name":"isComplex","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"boolean","value":false,"start":15067,"end":15072,"appendix":[]}],"type":"expression","start":15067,"end":15071}},"output":{"name":"bool","template":[]},"flags":[],"templates":[],"start":15047,"doc":[],"end":15072},{"type":"property","name":"onlyServer","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"boolean","value":false,"start":15094,"end":15099,"appendix":[]}],"type":"expression","start":15094,"end":15098}},"output":{"name":"bool","template":[]},"flags":[],"templates":[],"start":15073,"doc":[],"end":15099},{"type":"property","name":"singleLink","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"boolean","value":false,"start":15121,"end":15126,"appendix":[]}],"type":"expression","start":15121,"end":15125}},"output":{"name":"bool","template":[]},"flags":[],"templates":[],"start":15100,"doc":[],"end":15126},{"type":"property","name":"canBeNull","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"boolean","value":false,"start":15147,"end":15152,"appendix":[]}],"type":"expression","start":15147,"end":15151}},"output":{"name":"bool","template":[]},"flags":[],"templates":[],"start":15127,"doc":[],"end":15152},{"type":"property","name":"expose","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"boolean","value":true,"start":15173,"end":15177,"appendix":[]}],"type":"expression","start":15173,"end":15176}},"output":{"name":"bool","template":[]},"flags":[],"templates":[],"start":15153,"doc":[],"end":15177},{"type":"property","name":"attributes","value":{"type":"property","value":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"map","start":15225,"end":15230,"appendix":[{"type":"call","expression":[]}]}],"type":"expression","start":15225,"end":15229},"start":15221,"end":15230,"appendix":[]}],"type":"expression","start":15221,"end":15229}},"output":{"name":"map","template":[]},"flags":[],"templates":[],"start":15178,"doc":[],"end":15230},{"type":"property","name":"structure","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":15267,"end":15271,"appendix":[]}],"type":"expression","start":15267,"end":15270}},"output":{"name":"Websom.DatabaseField","template":[]},"flags":[],"templates":[],"start":15231,"doc":[],"end":15271},{"type":"property","name":"default","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":15290,"end":15294,"appendix":[]}],"type":"expression","start":15290,"end":15293}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":15272,"doc":[],"end":15294},{"type":"method","name":"@construct","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":15317,"end":15323,"template":false},"doc":[],"name":"realName","optional":[]},{"type":{"name":"string","reference":0,"start":15334,"end":15340,"template":false},"doc":[],"name":"fieldName","optional":[]},{"type":{"name":"string","reference":0,"start":15352,"end":15358,"template":false},"doc":[],"name":"typeRoute","optional":[]},{"type":{"name":"Websom.DatabaseField","reference":0,"start":15370,"end":15390,"template":false},"doc":[],"name":"structure","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.realName","start":15407,"end":15420,"appendix":[]}},{"type":"constant","name":"realName","start":15423,"end":15431,"appendix":[]}],"type":"expression","start":15407,"end":15431},{"terms":[{"operator":"=","term":{"type":"constant","name":"this.fieldName","start":15436,"end":15450,"appendix":[]}},{"type":"constant","name":"fieldName","start":15453,"end":15462,"appendix":[]}],"type":"expression","start":15432,"end":15462},{"terms":[{"operator":"=","term":{"type":"constant","name":"this.typeRoute","start":15467,"end":15481,"appendix":[]}},{"type":"constant","name":"typeRoute","start":15484,"end":15493,"appendix":[]}],"type":"expression","start":15463,"end":15493},{"terms":[{"operator":"=","term":{"type":"constant","name":"this.structure","start":15498,"end":15512,"appendix":[]}},{"type":"constant","name":"structure","start":15515,"end":15524,"appendix":[]}],"type":"expression","start":15494,"end":15524}],"start":15402,"end":15528}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":15295,"doc":[],"end":15528},{"type":"method","name":"isComponent","value":{"type":"method","parameters":[],"body":{"type":"block","code":[{"type":"if","alternatives":[{"type":"else","body":{"type":"block","code":[{"type":"return","expression":{"terms":[{"type":"literal","literalType":"boolean","value":false,"start":15935,"end":15940,"appendix":[]}],"type":"expression","start":15935,"end":15939},"start":15928,"end":15940}],"start":15922,"end":15945}}],"check":{"type":"group","expression":{"terms":[{"type":"constant","name":"this.singleLink","start":15562,"end":15577,"appendix":[]}],"type":"expression","start":15562,"end":15576}},"body":{"type":"block","code":[{"type":"define","name":"linked","valueType":{"name":"Websom.DatabaseFlags.Linked","reference":0,"start":15589,"end":15616,"template":false},"value":{"terms":[{"type":"constant","name":"this.structure.getFlag","start":15626,"end":15658,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"string","value":"linked","start":15649,"end":15657,"appendix":[]}],"type":"expression","start":15649,"end":15656}]}]}],"type":"expression","start":15626,"end":15657},"start":15585,"end":15658},{"type":"if","alternatives":[{"type":"else","body":{"type":"block","code":[{"type":"return","expression":{"terms":[{"type":"literal","literalType":"boolean","value":false,"start":15907,"end":15912,"appendix":[]}],"type":"expression","start":15907,"end":15911},"start":15900,"end":15912}],"start":15900,"end":15912}}],"check":{"type":"group","expression":{"terms":[{"operator":"!=","term":{"type":"constant","name":"linked","start":15668,"end":15674,"appendix":[]}},{"operator":"and","term":{"type":"constant","name":"null","start":15678,"end":15682,"appendix":[]}},{"operator":"!=","term":{"type":"constant","name":"linked.fieldType","start":15687,"end":15703,"appendix":[]}},{"type":"constant","name":"null","start":15707,"end":15711,"appendix":[]}],"type":"expression","start":15668,"end":15710}},"body":{"type":"block","code":[{"type":"define","name":"dataInfo","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"Websom.DataInfo.getDataInfoFromRoute","start":15735,"end":15789,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"linked.fieldType","start":15772,"end":15788,"appendix":[]}],"type":"expression","start":15772,"end":15787}]}]}],"type":"expression","start":15735,"end":15788},"start":15720,"end":15789},{"type":"if","alternatives":[{"type":"else","body":{"type":"block","code":[{"type":"return","expression":{"terms":[{"type":"literal","literalType":"boolean","value":false,"start":15878,"end":15883,"appendix":[]}],"type":"expression","start":15878,"end":15882},"start":15871,"end":15883}],"start":15871,"end":15883}}],"check":{"type":"group","expression":{"terms":[{"operator":"in","term":{"type":"literal","literalType":"string","value":"Component","start":15800,"end":15811,"appendix":[]}},{"type":"constant","name":"dataInfo.attributes","start":15815,"end":15834,"appendix":[]}],"type":"expression","start":15800,"end":15833}},"body":{"type":"block","code":[{"type":"return","expression":{"terms":[{"type":"literal","literalType":"boolean","value":true,"start":15849,"end":15853,"appendix":[]}],"type":"expression","start":15849,"end":15852},"start":15842,"end":15853}],"start":15842,"end":15853},"start":15790,"end":15883}],"start":15713,"end":15889},"start":15659,"end":15912}],"start":15579,"end":15917},"start":15558,"end":15945}],"start":15553,"end":15949}},"output":{"name":"bool","template":[]},"flags":[],"templates":[],"start":15529,"doc":[],"end":15949}],"templates":[],"start":14861,"end":15952}},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.DataValidator", "name": "DataValidator", "inherits": ["Websom.InputValidator","everything"], "members": [{"type": "property", "binding": "bound", "name": "info",  "output": {"name": "Websom.DataInfo", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "info", "type": {"name": "Websom.DataInfo", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "validate",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "pass", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.InputValidation", "template": []}]}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "namespace", "flags": [], "templates": [], "route": "Websom.Databases", "name": "Databases", "inherits": ["everything"], "members": []},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Databases.MySql", "name": "MySql", "inherits": ["Websom.Database","everything"], "members": [{"type": "property", "binding": "bound", "name": "connection",  "output": {"name": "void", "template": []}},{"type": "method", "binding": "bound", "name": "connect", "flags": ["override"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.Status", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "close", "flags": ["override"],  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "from",  "output": {"name": "Websom.DatabaseSelect", "template": []}, "arguments": [{"optional": "false", "name": "table", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "into",  "output": {"name": "Websom.DatabaseInsert", "template": []}, "arguments": [{"optional": "false", "name": "table", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "flagField",  "output": {"name": "string", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "Websom.DatabaseField", "template": []}},{"optional": "false", "name": "isAlter", "type": {"name": "bool", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "wFieldToMySql",  "output": {"name": "string", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "Websom.DatabaseField", "template": []}},{"optional": "false", "name": "isAlter", "type": {"name": "bool", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "runStructure",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "str", "type": {"name": "Websom.DatabaseStructure", "template": []}},{"optional": "false", "name": "callback", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "string", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "property", "binding": "bound", "name": "config",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "name",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "open",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "connecting",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "waits",  "output": {"name": "array", "template": [{"name": "function", "template": [{"name": "void", "template": []}]}]}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "fixed", "name": "make",  "output": {"name": "Websom.Database", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}},{"optional": "false", "name": "type", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "wait",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "func", "type": {"name": "function", "template": [{"name": "void", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "load",  "output": {"name": "Websom.Status", "template": []}, "arguments": [{"optional": "false", "name": "config", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "connected",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "structure",  "output": {"name": "Websom.DatabaseStructure", "template": []}, "arguments": [{"optional": "false", "name": "table", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Database", "name": "Database", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "property", "binding": "bound", "name": "config",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "name",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "open",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "connecting",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "waits",  "output": {"name": "array", "template": [{"name": "function", "template": [{"name": "void", "template": []}]}]}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "fixed", "name": "make",  "output": {"name": "Websom.Database", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}},{"optional": "false", "name": "type", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "wait",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "func", "type": {"name": "function", "template": [{"name": "void", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "load",  "output": {"name": "Websom.Status", "template": []}, "arguments": [{"optional": "false", "name": "config", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "connected",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "connect",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "callback", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.Status", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "close",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "from",  "output": {"name": "Websom.DatabaseSelect", "template": []}, "arguments": [{"optional": "false", "name": "table", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "into",  "output": {"name": "Websom.DatabaseInsert", "template": []}, "arguments": [{"optional": "false", "name": "table", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "structure",  "output": {"name": "Websom.DatabaseStructure", "template": []}, "arguments": [{"optional": "false", "name": "table", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "runStructure",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "dbs", "type": {"name": "Websom.DatabaseStructure", "template": []}},{"optional": "false", "name": "callback", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "string", "template": []}]}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": ["header"], "templates": [], "route": "Websom.Entity", "name": "Entity", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "rawFields",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "collection",  "output": {"name": "Websom.Adapters.Database.Collection", "template": []}},{"type": "property", "binding": "bound", "name": "id",  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "load", "flags": ["override"],  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "loadEntityArray", "flags": ["override"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "arr", "type": {"name": "array", "template": [{"name": "Websom.Entity", "template": []}]}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "fixed", "name": "applySchema", "flags": ["trust", "override"],  "output": {"name": "Websom.Adapters.Database.Schema", "template": []}, "arguments": [{"optional": "false", "name": "collection", "type": {"name": "Websom.Adapters.Database.Collection", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "fixed", "name": "linkToCollection", "flags": ["trust", "override"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "collection", "type": {"name": "Websom.Adapters.Database.Collection", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "getFieldValue",  "output": {"name": "primitive", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "getFieldsChanged",  "output": {"name": "array", "template": [{"name": "Websom.Adapters.Database.Field", "template": []}]}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "saveToCollection",  "output": {"name": "Websom.Adapters.Database.UpdateQueryResult", "template": []}, "arguments": [], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "insertIntoCollection",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "loadFromMap", "flags": ["override"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "data", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}}], "isImplicitAsync": true, "isAsync": true}], "raw": {"type":"class","doc":[],"flags":["header"],"name":"Websom.Entity","members":[{"type":"property","name":"rawFields","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":47,"end":51,"appendix":[]}],"type":"expression","start":47,"end":50}},"output":{"name":"map","template":[]},"flags":[],"templates":[],"start":31,"doc":[],"end":51},{"type":"property","name":"collection","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":104,"end":108,"appendix":[]}],"type":"expression","start":104,"end":107}},"output":{"name":"Websom.Adapters.Database.Collection","template":[]},"flags":[],"templates":[],"start":52,"doc":[],"end":108},{"type":"property","name":"id","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":124,"end":126,"appendix":[]}],"type":"expression","start":124,"end":125}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":109,"doc":[],"end":126},{"type":"method","name":"@construct","value":{"type":"method","parameters":[],"body":{"type":"block","code":[],"start":151,"end":157}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":127,"doc":[],"end":157},{"type":"method","name":"load","value":{"type":"method","parameters":[],"body":{"type":"block","code":[{"type":"define","name":"doc","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"this.collection.document","start":199,"end":232,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"this.id","start":224,"end":231,"appendix":[]}],"type":"expression","start":224,"end":230}]}]}],"type":"expression","start":199,"end":231},"start":189,"end":232},{"terms":[{"type":"constant","name":"this.loadFromMap","start":239,"end":267,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"doc.data","start":256,"end":266,"appendix":[{"type":"call","expression":[]}]}],"type":"expression","start":256,"end":265}]}]}],"type":"expression","start":233,"end":267}],"start":184,"end":271}},"output":{"name":"void","template":[]},"flags":["override"],"templates":[],"start":158,"doc":[],"end":271},{"type":"method","name":"loadEntityArray","value":{"type":"method","parameters":[{"type":{"name":"array","reference":0,"start":307,"end":327,"template":[{"name":"Websom.Entity","reference":0,"start":308,"end":321,"template":false}]},"doc":[],"name":"arr","optional":[]}],"body":{"type":"block","code":[{"type":"if","alternatives":[],"check":{"type":"group","expression":{"terms":[{"operator":">","term":{"type":"constant","name":"arr.length","start":342,"end":352,"appendix":[]}},{"type":"literal","literalType":"number","value":0,"integer":true,"start":355,"end":356,"appendix":[]}],"type":"expression","start":342,"end":355}},"body":{"type":"block","code":[{"type":"define","name":"collection","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"arr","start":381,"end":398,"appendix":[{"type":"index","expression":{"terms":[{"type":"literal","literalType":"number","value":0,"integer":true,"start":385,"end":386,"appendix":[]}],"type":"expression","start":385,"end":385}},{"type":"dot","name":"collection"}]}],"type":"expression","start":381,"end":397},"start":364,"end":398},{"type":"define","name":"ids","valueType":"","auto":true,"value":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"array","start":420,"end":435,"appendix":[{"type":"call","expression":[]}],"template":[{"name":"string","reference":0,"start":421,"end":427,"template":false}]}],"type":"expression","start":420,"end":434},"start":416,"end":435,"appendix":[]}],"type":"expression","start":416,"end":434},"start":399,"end":435},{"type":"for","in":true,"define":{"type":"define","name":"i","end":456,"start":448,"valueType":{"name":"int","reference":0,"start":452,"end":455,"template":false}},"iterate":{"terms":[{"type":"constant","name":"arr","start":461,"end":464,"appendix":[]}],"type":"expression","start":460,"end":463},"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"ids.push","start":471,"end":490,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"arr","start":480,"end":489,"appendix":[{"type":"index","expression":{"terms":[{"type":"constant","name":"i","start":484,"end":485,"appendix":[]}],"type":"expression","start":484,"end":484}},{"type":"dot","name":"id"}]}],"type":"expression","start":480,"end":488}]}]}],"type":"expression","start":471,"end":490}],"start":471,"end":490},"mode":"in","start":436,"end":490},{"type":"define","name":"docs","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"collection.getAll","start":509,"end":531,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"ids","start":527,"end":530,"appendix":[]}],"type":"expression","start":527,"end":529}]}]}],"type":"expression","start":509,"end":530},"start":491,"end":531},{"type":"for","in":true,"define":{"type":"define","name":"i","end":552,"start":544,"valueType":{"name":"int","reference":0,"start":548,"end":551,"template":false}},"iterate":{"terms":[{"type":"constant","name":"docs","start":557,"end":561,"appendix":[]}],"type":"expression","start":556,"end":560},"body":{"type":"block","code":[{"type":"define","name":"doc","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"docs","start":580,"end":587,"appendix":[{"type":"index","expression":{"terms":[{"type":"constant","name":"i","start":585,"end":586,"appendix":[]}],"type":"expression","start":585,"end":585}}]}],"type":"expression","start":580,"end":586},"start":570,"end":587},{"type":"define","name":"entity","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"arr.find","start":607,"end":673,"appendix":[{"type":"call","expression":[{"terms":[{"type":"function","output":{"name":"bool","reference":0,"start":616,"end":620,"template":false},"parameters":[{"type":{"name":"Websom.Entity","reference":0,"start":622,"end":635,"template":false},"doc":[],"name":"ent","optional":[]}],"body":{"type":"block","code":[{"type":"return","expression":{"terms":[{"operator":"==","term":{"type":"constant","name":"ent.id","start":653,"end":659,"appendix":[]}},{"type":"constant","name":"doc.id","start":663,"end":669,"appendix":[]}],"type":"expression","start":653,"end":668},"start":646,"end":669}],"start":644,"end":671}}],"type":"expression","start":616,"end":671}]}]}],"type":"expression","start":607,"end":672},"start":588,"end":673},{"terms":[{"type":"constant","name":"entity.loadFromMap","start":682,"end":712,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"doc.data","start":701,"end":711,"appendix":[{"type":"call","expression":[]}]}],"type":"expression","start":701,"end":710}]}]}],"type":"expression","start":674,"end":712}],"start":563,"end":718},"mode":"in","start":532,"end":718}],"start":358,"end":723},"start":338,"end":726}],"start":333,"end":727}},"output":{"name":"void","template":[]},"flags":["override"],"templates":[],"start":272,"doc":[],"end":727},{"type":"method","name":"applySchema","value":{"type":"method","parameters":[{"type":{"name":"Websom.Adapters.Database.Collection","reference":0,"start":946,"end":981,"template":false},"doc":[],"name":"collection","optional":[]}],"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"this.linkToCollection","start":999,"end":1032,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"collection","start":1021,"end":1031,"appendix":[]}],"type":"expression","start":1021,"end":1030}]}]}],"type":"expression","start":999,"end":1032},{"type":"native","platform":"javascript","content":"\r\n\t\t\treturn this.getSchema(collection);\r\n\t\t","start":1033,"end":1101},{"type":"native","platform":"php","content":"\r\n\t\t\treturn self::getSchema($collection);\r\n\t\t","start":1102,"end":1165}],"start":994,"end":1169}},"output":{"name":"Websom.Adapters.Database.Schema","template":[]},"flags":["override","trust","fixed"],"templates":[],"start":728,"doc":[],"end":1169},{"type":"method","name":"linkToCollection","value":{"type":"method","parameters":[{"type":{"name":"Websom.Adapters.Database.Collection","reference":0,"start":1218,"end":1253,"template":false},"doc":[],"name":"collection","optional":[]}],"body":{"type":"block","code":[{"type":"native","platform":"javascript","content":"\r\n\t\t\tcollection.entityTemplate = this;\r\n\t\t","start":1271,"end":1332},{"type":"native","platform":"php","content":"\r\n\t\t\t$collection->entityTemplate = __CLASS__;\r\n\t\t","start":1333,"end":1400}],"start":1266,"end":1404}},"output":{"name":"void","template":[]},"flags":["override","trust","fixed"],"templates":[],"start":1170,"doc":[],"end":1404},{"type":"method","name":"getFieldValue","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":1434,"end":1440,"template":false},"doc":[],"name":"field","optional":[]}],"body":{"type":"block","code":[{"type":"native","platform":"javascript","content":"\r\n\t\t\tlet camel = field[0].toUpperCase() + field.substr(1, field.length);\r\n\r\n\t\t\tif (this[\"save\" + camel]) {\r\n\t\t\t\treturn this[\"save\" + camel](this[field]);\r\n\t\t\t}else{\r\n\t\t\t\treturn this[field];\r\n\t\t\t}\r\n\t\t","start":1453,"end":1671},{"type":"native","platform":"php","content":"\r\n\t\t\t$camel = ucfirst($field);\r\n\t\t\t\r\n\t\t\tif (method_exists($this, \"save\" . $camel)) {\r\n\t\t\t\treturn $this->{\"save\" . $camel}($this->{$k});\r\n\t\t\t}else{\r\n\t\t\t\treturn $this->{$k};\r\n\t\t\t}\r\n\t\t","start":1672,"end":1871}],"start":1448,"end":1875}},"output":{"name":"primitive","template":[]},"flags":[],"templates":[],"start":1405,"doc":[],"end":1875},{"type":"method","doc":[],"output":{"name":"array","reference":0,"start":1881,"end":1918,"template":[{"name":"Websom.Adapters.Database.Field","reference":0,"start":1882,"end":1912,"template":false}]},"name":"getFieldsChanged","value":{"type":"method","parameters":[],"body":{"type":"block","code":[{"type":"define","name":"fieldsChanged","valueType":"","auto":true,"value":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"array","start":1967,"end":2006,"appendix":[{"type":"call","expression":[]}],"template":[{"name":"Websom.Adapters.Database.Field","reference":0,"start":1968,"end":1998,"template":false}]}],"type":"expression","start":1967,"end":2005},"start":1963,"end":2006,"appendix":[]}],"type":"expression","start":1963,"end":2005},"start":1943,"end":2006},{"type":"for","in":true,"define":{"type":"define","name":"i","end":2026,"start":2018,"valueType":{"name":"int","reference":0,"start":2022,"end":2025,"template":false}},"iterate":{"terms":[{"type":"constant","name":"this.collection.appliedSchema.fields","start":2031,"end":2067,"appendix":[]}],"type":"expression","start":2030,"end":2066},"body":{"type":"block","code":[{"type":"define","name":"field","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"this.collection.appliedSchema.fields","start":2087,"end":2126,"appendix":[{"type":"index","expression":{"terms":[{"type":"constant","name":"i","start":2124,"end":2125,"appendix":[]}],"type":"expression","start":2124,"end":2124}}]}],"type":"expression","start":2087,"end":2125},"start":2075,"end":2126},{"type":"define","name":"realValue","valueType":{"name":"primitive","reference":0,"start":2138,"end":2147,"template":false},"value":{"terms":[{"type":"constant","name":"null","start":2160,"end":2164,"appendix":[]}],"type":"expression","start":2160,"end":2163},"start":2127,"end":2164},{"type":"define","name":"myValue","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"this.getFieldValue","start":2184,"end":2214,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"field.name","start":2203,"end":2213,"appendix":[]}],"type":"expression","start":2203,"end":2212}]}]}],"type":"expression","start":2184,"end":2213},"start":2165,"end":2214},{"type":"define","name":"rawValue","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"null","start":2235,"end":2239,"appendix":[]}],"type":"expression","start":2235,"end":2238},"start":2215,"end":2239},{"type":"if","alternatives":[],"check":{"type":"group","expression":{"terms":[{"operator":"!=","term":{"type":"constant","name":"this.rawFields","start":2254,"end":2268,"appendix":[]}},{"type":"constant","name":"null","start":2272,"end":2276,"appendix":[]}],"type":"expression","start":2254,"end":2275}},"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"rawValue","start":2283,"end":2291,"appendix":[]}},{"type":"constant","name":"this.rawFields","start":2294,"end":2320,"appendix":[{"type":"index","expression":{"terms":[{"type":"constant","name":"field.name","start":2309,"end":2319,"appendix":[]}],"type":"expression","start":2309,"end":2318}}]}],"type":"expression","start":2283,"end":2320}],"start":2283,"end":2320},"start":2240,"end":2327},{"type":"define","name":"isDifferent","valueType":"","auto":true,"value":{"terms":[{"type":"literal","literalType":"boolean","value":false,"start":2346,"end":2351,"appendix":[]}],"type":"expression","start":2346,"end":2350},"start":2328,"end":2351},{"type":"if","alternatives":[{"type":"elseif","check":{"type":"group","expression":{"terms":[{"operator":"==","term":{"type":"constant","name":"field.type","start":2590,"end":2600,"appendix":[]}},{"type":"literal","literalType":"string","value":"reference","start":2604,"end":2615,"appendix":[]}],"type":"expression","start":2590,"end":2614}},"body":{"type":"block","code":[{"type":"define","name":"cast","valueType":{"name":"Websom.Entity","reference":0,"start":2629,"end":2642,"template":false},"value":{"terms":[{"type":"constant","name":"myValue","start":2650,"end":2657,"appendix":[]}],"type":"expression","start":2650,"end":2656},"start":2625,"end":2657},{"type":"if","alternatives":[],"check":{"type":"group","expression":{"terms":[{"operator":"!=","term":{"type":"constant","name":"cast","start":2670,"end":2674,"appendix":[]}},{"type":"constant","name":"null","start":2678,"end":2682,"appendix":[]}],"type":"expression","start":2670,"end":2681}},"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"realValue","start":2692,"end":2701,"appendix":[]}},{"type":"constant","name":"cast.id","start":2704,"end":2711,"appendix":[]}],"type":"expression","start":2692,"end":2711}],"start":2684,"end":2718},"start":2658,"end":2726},{"terms":[{"operator":"=","term":{"type":"constant","name":"isDifferent","start":2727,"end":2738,"appendix":[]}},{"operator":"!=","term":{"type":"constant","name":"realValue","start":2741,"end":2750,"appendix":[]}},{"type":"constant","name":"rawValue","start":2754,"end":2762,"appendix":[]}],"type":"expression","start":2727,"end":2762}],"start":2617,"end":2768}},{"type":"elseif","check":{"type":"group","expression":{"terms":[{"operator":"==","term":{"type":"constant","name":"field.type","start":2778,"end":2788,"appendix":[]}},{"type":"literal","literalType":"string","value":"array","start":2792,"end":2799,"appendix":[]}],"type":"expression","start":2778,"end":2798}},"body":{"type":"block","code":[{"type":"native","platform":"javascript","content":"\r\n\t\t\t\t\tisDifferent = JSON.stringify(myValue) != JSON.stringify(rawValue);\r\n\t\t\t\t","start":2808,"end":2906},{"type":"native","platform":"php","content":"\r\n\t\t\t\t\t$isDifferent = count(array_diff($myValue, $rawValue)) > 0;\r\n\t\t\t\t","start":2907,"end":2998}],"start":2801,"end":3004}},{"type":"else","body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"realValue","start":3017,"end":3026,"appendix":[]}},{"type":"constant","name":"myValue","start":3029,"end":3036,"appendix":[]}],"type":"expression","start":3017,"end":3036},{"terms":[{"operator":"=","term":{"type":"constant","name":"isDifferent","start":3043,"end":3054,"appendix":[]}},{"operator":"!=","term":{"type":"constant","name":"realValue","start":3057,"end":3066,"appendix":[]}},{"type":"constant","name":"rawValue","start":3070,"end":3078,"appendix":[]}],"type":"expression","start":3037,"end":3078}],"start":3010,"end":3084}}],"check":{"type":"group","expression":{"terms":[{"operator":"==","term":{"type":"constant","name":"field.type","start":2363,"end":2373,"appendix":[]}},{"type":"literal","literalType":"string","value":"time","start":2377,"end":2383,"appendix":[]}],"type":"expression","start":2363,"end":2382}},"body":{"type":"block","code":[{"type":"define","name":"cast","valueType":{"name":"Websom.Time","reference":0,"start":2396,"end":2407,"template":false},"value":{"terms":[{"type":"constant","name":"myValue","start":2415,"end":2422,"appendix":[]}],"type":"expression","start":2415,"end":2421},"start":2392,"end":2422},{"type":"if","alternatives":[{"type":"else","body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"realValue","start":2497,"end":2506,"appendix":[]}},{"type":"constant","name":"cast.timestamp","start":2509,"end":2523,"appendix":[]}],"type":"expression","start":2497,"end":2523}],"start":2489,"end":2530}}],"check":{"type":"group","expression":{"terms":[{"operator":"==","term":{"type":"constant","name":"cast","start":2439,"end":2443,"appendix":[]}},{"type":"constant","name":"null","start":2447,"end":2451,"appendix":[]}],"type":"expression","start":2439,"end":2450}},"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"realValue","start":2461,"end":2470,"appendix":[]}},{"type":"constant","name":"null","start":2473,"end":2477,"appendix":[]}],"type":"expression","start":2461,"end":2477}],"start":2453,"end":2484},"start":2423,"end":2530},{"terms":[{"operator":"=","term":{"type":"constant","name":"isDifferent","start":2539,"end":2550,"appendix":[]}},{"operator":"!=","term":{"type":"constant","name":"realValue","start":2553,"end":2562,"appendix":[]}},{"type":"constant","name":"rawValue","start":2566,"end":2574,"appendix":[]}],"type":"expression","start":2531,"end":2574}],"start":2385,"end":2580},"start":2352,"end":3084},{"type":"if","alternatives":[],"check":{"type":"group","expression":{"terms":[{"type":"constant","name":"isDifferent","start":3096,"end":3107,"appendix":[]}],"type":"expression","start":3096,"end":3106}},"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"fieldsChanged.push","start":3114,"end":3139,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"field","start":3133,"end":3138,"appendix":[]}],"type":"expression","start":3133,"end":3137}]}]}],"type":"expression","start":3114,"end":3139}],"start":3114,"end":3139},"start":3085,"end":3143}],"start":2069,"end":3144},"mode":"in","start":2007,"end":3144},{"type":"return","expression":{"terms":[{"type":"constant","name":"fieldsChanged","start":3158,"end":3171,"appendix":[]}],"type":"expression","start":3158,"end":3170},"start":3145,"end":3171}],"start":1938,"end":3175}},"flags":[],"templates":[],"start":1876,"end":3175},{"type":"method","name":"saveToCollection","value":{"type":"method","parameters":[],"body":{"type":"block","code":[{"type":"define","name":"fields","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"this.getFieldsChanged","start":3276,"end":3299,"appendix":[{"type":"call","expression":[]}]}],"type":"expression","start":3276,"end":3298},"start":3263,"end":3299},{"type":"define","name":"update","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"this.collection.update","start":3319,"end":3375,"appendix":[{"type":"call","expression":[]},{"type":"dot","name":"where"},{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"string","value":"id","start":3355,"end":3359,"appendix":[]}],"type":"expression","start":3355,"end":3358},{"terms":[{"type":"literal","literalType":"string","value":"==","start":3361,"end":3365,"appendix":[]}],"type":"expression","start":3360,"end":3364},{"terms":[{"type":"constant","name":"this.id","start":3367,"end":3374,"appendix":[]}],"type":"expression","start":3366,"end":3373}]}]}],"type":"expression","start":3319,"end":3374},"start":3300,"end":3375},{"type":"for","in":true,"define":{"type":"define","name":"i","end":3395,"start":3387,"valueType":{"name":"int","reference":0,"start":3391,"end":3394,"template":false}},"iterate":{"terms":[{"type":"constant","name":"fields","start":3400,"end":3406,"appendix":[]}],"type":"expression","start":3399,"end":3405},"body":{"type":"block","code":[{"type":"define","name":"field","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"fields","start":3426,"end":3435,"appendix":[{"type":"index","expression":{"terms":[{"type":"constant","name":"i","start":3433,"end":3434,"appendix":[]}],"type":"expression","start":3433,"end":3433}}]}],"type":"expression","start":3426,"end":3434},"start":3414,"end":3435},{"terms":[{"type":"constant","name":"update.set","start":3443,"end":3497,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"field.name","start":3454,"end":3464,"appendix":[]}],"type":"expression","start":3454,"end":3463},{"terms":[{"type":"constant","name":"this.getFieldValue","start":3466,"end":3496,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"field.name","start":3485,"end":3495,"appendix":[]}],"type":"expression","start":3485,"end":3494}]}]}],"type":"expression","start":3465,"end":3495}]}]}],"type":"expression","start":3436,"end":3497}],"start":3408,"end":3502},"mode":"in","start":3376,"end":3502},{"type":"return","expression":{"terms":[{"type":"constant","name":"update.run","start":3516,"end":3528,"appendix":[{"type":"call","expression":[]}]}],"type":"expression","start":3516,"end":3527},"start":3503,"end":3528}],"start":3258,"end":3532}},"output":{"name":"Websom.Adapters.Database.UpdateQueryResult","template":[]},"flags":[],"templates":[],"start":3176,"attribute":[{"key":"ForceAsync","value":true}],"doc":[],"end":3532},{"type":"method","name":"insertIntoCollection","value":{"type":"method","parameters":[],"body":{"type":"block","code":[{"type":"define","name":"fields","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"this.getFieldsChanged","start":3599,"end":3622,"appendix":[{"type":"call","expression":[]}]}],"type":"expression","start":3599,"end":3621},"start":3586,"end":3622},{"type":"define","name":"insert","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"this.collection.insert","start":3642,"end":3666,"appendix":[{"type":"call","expression":[]}]}],"type":"expression","start":3642,"end":3665},"start":3623,"end":3666},{"type":"for","in":true,"define":{"type":"define","name":"i","end":3686,"start":3678,"valueType":{"name":"int","reference":0,"start":3682,"end":3685,"template":false}},"iterate":{"terms":[{"type":"constant","name":"fields","start":3691,"end":3697,"appendix":[]}],"type":"expression","start":3690,"end":3696},"body":{"type":"block","code":[{"type":"define","name":"field","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"fields","start":3717,"end":3726,"appendix":[{"type":"index","expression":{"terms":[{"type":"constant","name":"i","start":3724,"end":3725,"appendix":[]}],"type":"expression","start":3724,"end":3724}}]}],"type":"expression","start":3717,"end":3725},"start":3705,"end":3726},{"terms":[{"type":"constant","name":"insert.set","start":3734,"end":3788,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"field.name","start":3745,"end":3755,"appendix":[]}],"type":"expression","start":3745,"end":3754},{"terms":[{"type":"constant","name":"this.getFieldValue","start":3757,"end":3787,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"field.name","start":3776,"end":3786,"appendix":[]}],"type":"expression","start":3776,"end":3785}]}]}],"type":"expression","start":3756,"end":3786}]}]}],"type":"expression","start":3727,"end":3788}],"start":3699,"end":3793},"mode":"in","start":3667,"end":3793},{"type":"define","name":"res","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"insert.run","start":3810,"end":3822,"appendix":[{"type":"call","expression":[]}]}],"type":"expression","start":3810,"end":3821},"start":3794,"end":3822},{"terms":[{"operator":"=","term":{"type":"constant","name":"this.id","start":3827,"end":3834,"appendix":[]}},{"type":"constant","name":"res.id","start":3837,"end":3843,"appendix":[]}],"type":"expression","start":3823,"end":3843}],"start":3581,"end":3847}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":3533,"attribute":[{"key":"ForceAsync","value":true}],"doc":[],"end":3847},{"type":"method","name":"loadFromMap","value":{"type":"method","parameters":[{"type":{"name":"map","reference":0,"start":3894,"end":3897,"template":false},"doc":[],"name":"data","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.rawFields","start":3909,"end":3923,"appendix":[]}},{"type":"constant","name":"data","start":3926,"end":3930,"appendix":[]}],"type":"expression","start":3909,"end":3930},{"type":"native","platform":"javascript","content":"\r\n\t\t\tfor (let k in data) {\r\n\t\t\t\tif (data.hasOwnProperty(k) && this.hasOwnProperty(k)) {\r\n\t\t\t\t\tlet camel = k[0].toUpperCase() + k.substr(1, k.length);\r\n\r\n\t\t\t\t\tif (this[\"load\" + camel]) {\r\n\t\t\t\t\t\tawait this[\"load\" + camel](data[k]);\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\tthis[k] = data[k];\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t","start":3931,"end":4249},{"type":"native","platform":"php","content":"\r\n\t\t\tforeach ($data as $k => $v) {\r\n\t\t\t\tif (isset($this->$k)) {\r\n\t\t\t\t\t$camel = ucfirst($k);\r\n\t\t\t\t\t\r\n\t\t\t\t\tif (method_exists($this, \"load\" . $camel)) {\r\n\t\t\t\t\t\t$this->{\"load\" . $camel}($data[$k]);\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\t$this->{$k} = $data[$k];\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t","start":4250,"end":4531}],"start":3904,"end":4535}},"output":{"name":"void","template":[]},"flags":["override"],"templates":[],"start":3848,"attribute":[{"key":"ForceAsync","value":true}],"doc":[],"end":4535}],"templates":[],"start":0,"end":4538}},{"type": "class", "base": "class", "flags": ["header"], "templates": [], "route": "Websom.Group", "name": "Group", "inherits": ["Websom.Entity","everything"], "members": [{"type": "property", "binding": "bound", "name": "name", "flags": ["field"],  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "description", "flags": ["field"],  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "rules", "flags": ["field"],  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "public", "flags": ["field"],  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "user", "flags": ["field"],  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "created", "flags": ["field"],  "output": {"name": "Websom.Time", "template": []}},{"type": "property", "binding": "bound", "name": "permissions", "flags": ["field"],  "output": {"name": "array", "template": [{"name": "string", "template": []}]}},{"type": "property", "binding": "bound", "name": "rawFields",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "collection",  "output": {"name": "Websom.Adapters.Database.Collection", "template": []}},{"type": "property", "binding": "bound", "name": "id",  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "load", "flags": ["override"],  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "loadEntityArray", "flags": ["override"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "arr", "type": {"name": "array", "template": [{"name": "Websom.Entity", "template": []}]}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "fixed", "name": "applySchema", "flags": ["trust", "override"],  "output": {"name": "Websom.Adapters.Database.Schema", "template": []}, "arguments": [{"optional": "false", "name": "collection", "type": {"name": "Websom.Adapters.Database.Collection", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "fixed", "name": "linkToCollection", "flags": ["trust", "override"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "collection", "type": {"name": "Websom.Adapters.Database.Collection", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "getFieldValue",  "output": {"name": "primitive", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "getFieldsChanged",  "output": {"name": "array", "template": [{"name": "Websom.Adapters.Database.Field", "template": []}]}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "saveToCollection",  "output": {"name": "Websom.Adapters.Database.UpdateQueryResult", "template": []}, "arguments": [], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "insertIntoCollection",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "loadFromMap", "flags": ["override"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "data", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}}], "isImplicitAsync": true, "isAsync": true}], "raw": {"type":"class","doc":[],"flags":["header"],"name":"Websom.Group","members":[{"type":"property","name":"name","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":65,"end":67,"appendix":[]}],"type":"expression","start":65,"end":66}},"output":{"name":"string","template":[]},"flags":["field"],"templates":[],"start":45,"doc":[],"end":67},{"type":"property","name":"description","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":98,"end":100,"appendix":[]}],"type":"expression","start":98,"end":99}},"output":{"name":"string","template":[]},"flags":["field"],"templates":[],"start":68,"doc":[],"end":100},{"type":"property","name":"rules","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":127,"end":129,"appendix":[]}],"type":"expression","start":127,"end":128}},"output":{"name":"string","template":[]},"flags":["field"],"templates":[],"start":101,"doc":[],"end":129},{"type":"property","name":"public","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"boolean","value":false,"start":155,"end":160,"appendix":[]}],"type":"expression","start":155,"end":159}},"output":{"name":"bool","template":[]},"flags":["field"],"templates":[],"start":130,"doc":[],"end":160},{"type":"property","name":"user","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"boolean","value":false,"start":182,"end":187,"appendix":[]}],"type":"expression","start":182,"end":186}},"output":{"name":"bool","template":[]},"flags":["field"],"templates":[],"start":161,"doc":[],"end":187},{"type":"property","name":"created","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":221,"end":225,"appendix":[]}],"type":"expression","start":221,"end":224}},"output":{"name":"Websom.Time","template":[]},"flags":["field"],"templates":[],"start":188,"doc":[],"end":225},{"type":"property","name":"permissions","value":{"type":"property","value":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"array","start":270,"end":285,"appendix":[{"type":"call","expression":[]}],"template":[{"name":"string","reference":0,"start":271,"end":277,"template":false}]}],"type":"expression","start":270,"end":284},"start":266,"end":285,"appendix":[]}],"type":"expression","start":266,"end":284}},"flags":["field"],"output":{"name":"array","reference":0,"start":238,"end":251,"template":[{"name":"string","reference":0,"start":239,"end":245,"template":false}]},"templates":[],"start":226,"doc":[],"end":285}],"inherits":{"types":[{"name":"Websom.Entity","reference":0,"start":27,"end":40,"template":false}]},"templates":[],"start":0,"end":288}},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.InputChain", "name": "InputChain", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "handler",  "output": {"name": "Websom.InputHandler", "template": []}},{"type": "property", "binding": "bound", "name": "hasCaptcha",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "successCallback",  "output": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.Input", "template": []}, {"name": "map", "template": [{"name": "primitive", "template": []}]}]}},{"type": "property", "binding": "bound", "name": "errorCallback",  "output": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.Input", "template": []}, {"name": "Websom.InputValidation", "template": []}]}},{"type": "property", "binding": "bound", "name": "restricts",  "output": {"name": "array", "template": [{"name": "Websom.InputRestriction", "template": []}]}},{"type": "property", "binding": "bound", "name": "keys",  "output": {"name": "array", "template": [{"name": "Websom.InputKey", "template": []}]}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "ih", "type": {"name": "Websom.InputHandler", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "use",  "output": {"name": "Websom.InputChain", "template": []}, "arguments": [{"optional": "false", "name": "control", "type": {"name": "Websom.Control", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "captcha",  "output": {"name": "Websom.InputChain", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "restrict",  "output": {"name": "Websom.InputChain", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "to",  "output": {"name": "Websom.InputChain", "template": []}, "arguments": [{"optional": "false", "name": "key", "type": {"name": "string", "template": []}},{"optional": "false", "name": "value", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "to",  "output": {"name": "Websom.InputChain", "template": []}, "arguments": [{"optional": "false", "name": "permission", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "to",  "output": {"name": "Websom.InputChain", "template": []}, "arguments": [{"optional": "false", "name": "callback", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "function", "template": [{"name": "void", "template": []}, {"name": "bool", "template": []}]}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "multipart",  "output": {"name": "Websom.InputChain", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "key",  "output": {"name": "Websom.InputChain", "template": []}, "arguments": [{"optional": "false", "name": "key", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "is",  "output": {"name": "Websom.InputChain", "template": []}, "arguments": [{"optional": "false", "name": "dataTypeContainer", "type": {"name": "Websom.Container", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "is",  "output": {"name": "Websom.InputChain", "template": []}, "arguments": [{"optional": "false", "name": "filter", "type": {"name": "Websom.InputKeyFilter", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "is",  "output": {"name": "Websom.InputChain", "template": []}, "arguments": [{"optional": "false", "name": "typeName", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "length",  "output": {"name": "Websom.InputChain", "template": []}, "arguments": [{"optional": "false", "name": "min", "type": {"name": "int", "template": []}},{"optional": "false", "name": "max", "type": {"name": "int", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "only",  "output": {"name": "Websom.InputChain", "template": []}, "arguments": [{"optional": "false", "name": "values", "type": {"name": "array", "template": [{"name": "primitive", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "not",  "output": {"name": "Websom.InputChain", "template": []}, "arguments": [{"optional": "false", "name": "values", "type": {"name": "array", "template": [{"name": "primitive", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "matches",  "output": {"name": "Websom.InputChain", "template": []}, "arguments": [{"optional": "false", "name": "regex", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "success",  "output": {"name": "Websom.InputChain", "template": []}, "arguments": [{"optional": "false", "name": "callback", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.Input", "template": []}, {"name": "map", "template": [{"name": "primitive", "template": []}]}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "error",  "output": {"name": "Websom.InputChain", "template": []}, "arguments": [{"optional": "false", "name": "callback", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.Input", "template": []}, {"name": "Websom.InputValidation", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "received",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.InputKey", "name": "InputKey", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "key",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "type",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "filter",  "output": {"name": "Websom.InputKeyFilter", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "key", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "setFilter",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "filter", "type": {"name": "Websom.InputKeyFilter", "template": []}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.InputKeyFilter", "name": "InputKeyFilter", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "minLength",  "output": {"name": "int", "template": []}},{"type": "property", "binding": "bound", "name": "maxLength",  "output": {"name": "int", "template": []}},{"type": "property", "binding": "bound", "name": "max",  "output": {"name": "int", "template": []}},{"type": "property", "binding": "bound", "name": "min",  "output": {"name": "int", "template": []}},{"type": "property", "binding": "bound", "name": "only",  "output": {"name": "array", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "not",  "output": {"name": "array", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "matches",  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "filter",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "data", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"optional": "false", "name": "key", "type": {"name": "string", "template": []}},{"optional": "false", "name": "putData", "type": {"name": "map", "template": [{"name": "everything", "template": []}]}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.InputValidation", "template": []}]}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "namespace", "flags": [], "templates": [], "route": "Websom.InputFilters", "name": "InputFilters", "inherits": ["everything"], "members": []},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.InputFilters.Data", "name": "Data", "inherits": ["Websom.InputKeyFilter","everything"], "members": [{"type": "property", "binding": "bound", "name": "container",  "output": {"name": "Websom.Containers.Table", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "container", "type": {"name": "Websom.Containers.Table", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "filter", "flags": ["override"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "data", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"optional": "false", "name": "key", "type": {"name": "string", "template": []}},{"optional": "false", "name": "putData", "type": {"name": "map", "template": [{"name": "everything", "template": []}]}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.InputValidation", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "property", "binding": "bound", "name": "minLength",  "output": {"name": "int", "template": []}},{"type": "property", "binding": "bound", "name": "maxLength",  "output": {"name": "int", "template": []}},{"type": "property", "binding": "bound", "name": "max",  "output": {"name": "int", "template": []}},{"type": "property", "binding": "bound", "name": "min",  "output": {"name": "int", "template": []}},{"type": "property", "binding": "bound", "name": "only",  "output": {"name": "array", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "not",  "output": {"name": "array", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "matches",  "output": {"name": "string", "template": []}}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.InputFilters.String", "name": "String", "inherits": ["Websom.InputKeyFilter","everything"], "members": [{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "filter", "flags": ["override"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "Websom.Input", "template": []}},{"optional": "false", "name": "data", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"optional": "false", "name": "key", "type": {"name": "string", "template": []}},{"optional": "false", "name": "putData", "type": {"name": "map", "template": [{"name": "everything", "template": []}]}},{"optional": "false", "name": "done", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.InputValidation", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "property", "binding": "bound", "name": "minLength",  "output": {"name": "int", "template": []}},{"type": "property", "binding": "bound", "name": "maxLength",  "output": {"name": "int", "template": []}},{"type": "property", "binding": "bound", "name": "max",  "output": {"name": "int", "template": []}},{"type": "property", "binding": "bound", "name": "min",  "output": {"name": "int", "template": []}},{"type": "property", "binding": "bound", "name": "only",  "output": {"name": "array", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "not",  "output": {"name": "array", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "matches",  "output": {"name": "string", "template": []}}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.InterfaceChain", "name": "InterfaceChain", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "parent",  "output": {"name": "Websom.Container", "template": []}},{"type": "property", "binding": "bound", "name": "upChain",  "output": {"name": "Websom.InterfaceChain", "template": []}},{"type": "property", "binding": "bound", "name": "subs",  "output": {"name": "map", "template": [{"name": "Websom.InterfaceChain", "template": []}]}},{"type": "property", "binding": "bound", "name": "io",  "output": {"name": "Websom.InterfaceOptions", "template": []}},{"type": "property", "binding": "bound", "name": "currentMode",  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "parent", "type": {"name": "Websom.Container", "template": []}},{"optional": "false", "name": "route", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "parent", "type": {"name": "Websom.Container", "template": []}},{"optional": "false", "name": "upChain", "type": {"name": "Websom.InterfaceChain", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "captcha",  "output": {"name": "Websom.InterfaceChain", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "select",  "output": {"name": "Websom.InterfaceChain", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "insert",  "output": {"name": "Websom.InterfaceChain", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "update",  "output": {"name": "Websom.InterfaceChain", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "interface",  "output": {"name": "Websom.InterfaceChain", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "up",  "output": {"name": "Websom.InterfaceChain", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "restrict",  "output": {"name": "Websom.InterfaceChain", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "to",  "output": {"name": "Websom.InterfaceChain", "template": []}, "arguments": [{"optional": "false", "name": "key", "type": {"name": "string", "template": []}},{"optional": "false", "name": "value", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "multipart",  "output": {"name": "Websom.InterfaceChain", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "to",  "output": {"name": "Websom.InterfaceChain", "template": []}, "arguments": [{"optional": "false", "name": "permission", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "to",  "output": {"name": "Websom.InterfaceChain", "template": []}, "arguments": [{"optional": "false", "name": "callback", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "function", "template": [{"name": "void", "template": []}, {"name": "bool", "template": []}]}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "sub",  "output": {"name": "Websom.InterfaceChain", "template": []}, "arguments": [{"optional": "false", "name": "fieldName", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "mustOwn",  "output": {"name": "Websom.InterfaceChain", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "mustLogin",  "output": {"name": "Websom.InterfaceChain", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "unique",  "output": {"name": "Websom.InterfaceChain", "template": []}, "arguments": [{"optional": "false", "name": "key", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "autoPublicId",  "output": {"name": "Websom.InterfaceChain", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "timestamp",  "output": {"name": "Websom.InterfaceChain", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "control", "flags": ["trust"],  "output": {"name": "Websom.InterfaceChain", "template": []}, "arguments": [{"optional": "false", "name": "control", "type": {"name": "Websom.Control", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "success",  "output": {"name": "Websom.InterfaceChain", "template": []}, "arguments": [{"optional": "false", "name": "func", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.Input", "template": []}, {"name": "Websom.Data", "template": []}, {"name": "Websom.ClientMessage", "template": []}, {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.ClientMessage", "template": []}]}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "on",  "output": {"name": "Websom.InterfaceChain", "template": []}, "arguments": [{"optional": "false", "name": "func", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.Input", "template": []}, {"name": "Websom.DatabaseInterface", "template": []}, {"name": "function", "template": [{"name": "void", "template": []}, {"name": "string", "template": []}]}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "expose",  "output": {"name": "Websom.InterfaceChain", "template": []}, "arguments": [{"optional": "false", "name": "func", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "map", "template": [{"name": "primitive", "template": []}]}, {"name": "Websom.Data", "template": []}, {"name": "function", "template": [{"name": "void", "template": []}, {"name": "map", "template": [{"name": "primitive", "template": []}]}]}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "authPermission",  "output": {"name": "Websom.InterfaceChain", "template": []}, "arguments": [{"optional": "false", "name": "perm", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "autoControl",  "output": {"name": "Websom.InterfaceChain", "template": []}, "arguments": [{"optional": "false", "name": "info", "type": {"name": "Websom.DataInfo", "template": []}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.ClientMessage", "name": "ClientMessage", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "message",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "href",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "doReload",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "hadError",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "validations",  "output": {"name": "array", "template": [{"name": "Websom.InputValidation", "template": []}]}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "fixed", "name": "quickError",  "output": {"name": "Websom.ClientMessage", "template": []}, "arguments": [{"optional": "false", "name": "msg", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "navigate",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "href", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "reload",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "add",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "validation", "type": {"name": "Websom.InputValidation", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "stringify",  "output": {"name": "string", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": ["header"], "templates": [], "route": "Websom.Module", "name": "Module", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "property", "binding": "bound", "name": "baseConfig",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "containers",  "output": {"name": "array", "template": [{"name": "Websom.Container", "template": []}]}},{"type": "property", "binding": "bound", "name": "bridges",  "output": {"name": "array", "template": [{"name": "Websom.Bridge", "template": []}]}},{"type": "property", "binding": "bound", "name": "registeredCollections",  "output": {"name": "array", "template": [{"name": "Websom.Adapters.Database.Collection", "template": []}]}},{"type": "property", "binding": "bound", "name": "registeredPermissions",  "output": {"name": "array", "template": [{"name": "Websom.Permission", "template": []}]}},{"type": "property", "binding": "bound", "name": "registeredBuckets",  "output": {"name": "array", "template": [{"name": "Websom.Bucket", "template": []}]}},{"type": "property", "binding": "bound", "name": "name",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "id",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "root",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "version",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "author",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "license",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "repo",  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "registerWithServer",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "clientData",  "output": {"name": "bool", "template": []}, "arguments": [{"optional": "false", "name": "req", "type": {"name": "Websom.Request", "template": []}},{"optional": "false", "name": "send", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "string", "template": []}, {"name": "primitive", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "spawn",  "output": {"name": "Websom.Status", "template": []}, "arguments": [{"optional": "false", "name": "config", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "start",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "stop",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "configure",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "collections",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "permissions",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "registerCollection", "flags": ["trust"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "collection", "type": {"name": "Websom.Adapters.Database.Collection", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "registerPermission",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "permission", "type": {"name": "Websom.Permission", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "registerBucket",  "output": {"name": "Websom.Bucket", "template": []}, "arguments": [{"optional": "false", "name": "name", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "registerPermission",  "output": {"name": "Websom.Permission", "template": []}, "arguments": [{"optional": "false", "name": "permission", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "setupData", "flags": ["phpNoRef"],  "output": {"name": "array", "template": [{"name": "Websom.Container", "template": []}]}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "setupBridge", "flags": ["phpNoRef"],  "output": {"name": "array", "template": [{"name": "Websom.Bridge", "template": []}]}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "pullFromGlobalScope",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "name", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false}], "raw": {"type":"class","doc":["\r\nBase class for all Websom modules including standard interfaces.\r\nA module is like a plugin, providing generic tools for users to install, and use seamlessly with other modules.\r\nTODO: Add examples and more docs\r\n"],"flags":["header"],"name":"Websom.Module","members":[{"type":"property","name":"server","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":273,"end":277,"appendix":[]}],"type":"expression","start":273,"end":276}},"output":{"name":"Websom.Server","template":[]},"flags":[],"templates":[],"start":250,"doc":[],"end":277},{"type":"property","name":"baseConfig","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":351,"end":355,"appendix":[]}],"type":"expression","start":351,"end":354}},"output":{"name":"map","template":[]},"flags":[],"templates":[],"start":278,"doc":["Content of moduleName.json file at module root"],"end":355},{"type":"property","doc":[],"output":{"name":"array","reference":0,"start":361,"end":384,"template":[{"name":"Websom.Container","reference":0,"start":362,"end":378,"template":false}]},"name":"containers","value":{"type":"property","value":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"array","start":402,"end":427,"appendix":[{"type":"call","expression":[]}],"template":[{"name":"Websom.Container","reference":0,"start":403,"end":419,"template":false}]}],"type":"expression","start":402,"end":426},"start":398,"end":427,"appendix":[]}],"type":"expression","start":398,"end":426}},"flags":[],"templates":[],"start":356,"end":427},{"type":"property","doc":[],"output":{"name":"array","reference":0,"start":431,"end":451,"template":[{"name":"Websom.Bridge","reference":0,"start":432,"end":445,"template":false}]},"name":"bridges","value":{"type":"property","value":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"array","start":466,"end":488,"appendix":[{"type":"call","expression":[]}],"template":[{"name":"Websom.Bridge","reference":0,"start":467,"end":480,"template":false}]}],"type":"expression","start":466,"end":487},"start":462,"end":488,"appendix":[]}],"type":"expression","start":462,"end":487}},"flags":[],"templates":[],"start":428,"end":488},{"type":"property","doc":[],"output":{"name":"array","reference":0,"start":492,"end":534,"template":[{"name":"Websom.Adapters.Database.Collection","reference":0,"start":493,"end":528,"template":false}]},"name":"registeredCollections","value":{"type":"property","value":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"array","start":563,"end":607,"appendix":[{"type":"call","expression":[]}],"template":[{"name":"Websom.Adapters.Database.Collection","reference":0,"start":564,"end":599,"template":false}]}],"type":"expression","start":563,"end":606},"start":559,"end":607,"appendix":[]}],"type":"expression","start":559,"end":606}},"flags":[],"templates":[],"start":489,"end":607},{"type":"property","doc":[],"output":{"name":"array","reference":0,"start":611,"end":635,"template":[{"name":"Websom.Permission","reference":0,"start":612,"end":629,"template":false}]},"name":"registeredPermissions","value":{"type":"property","value":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"array","start":664,"end":690,"appendix":[{"type":"call","expression":[]}],"template":[{"name":"Websom.Permission","reference":0,"start":665,"end":682,"template":false}]}],"type":"expression","start":664,"end":689},"start":660,"end":690,"appendix":[]}],"type":"expression","start":660,"end":689}},"flags":[],"templates":[],"start":608,"end":690},{"type":"property","doc":[],"output":{"name":"array","reference":0,"start":694,"end":714,"template":[{"name":"Websom.Bucket","reference":0,"start":695,"end":708,"template":false}]},"name":"registeredBuckets","value":{"type":"property","value":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"array","start":739,"end":761,"appendix":[{"type":"call","expression":[]}],"template":[{"name":"Websom.Bucket","reference":0,"start":740,"end":753,"template":false}]}],"type":"expression","start":739,"end":760},"start":735,"end":761,"appendix":[]}],"type":"expression","start":735,"end":760}},"flags":[],"templates":[],"start":691,"end":761},{"type":"property","name":"name","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":808,"end":810,"appendix":[]}],"type":"expression","start":808,"end":809}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":762,"doc":["Display name of module"],"end":810},{"type":"property","name":"id","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":898,"end":900,"appendix":[]}],"type":"expression","start":898,"end":899}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":811,"doc":["Unique id for this module (typically just the name of the module)"],"end":900},{"type":"property","name":"root","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":1012,"end":1014,"appendix":[]}],"type":"expression","start":1012,"end":1013}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":901,"doc":["Absolute module root directory. @note This is loaded dynamically by the module service."],"end":1014},{"type":"property","name":"version","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":1037,"end":1039,"appendix":[]}],"type":"expression","start":1037,"end":1038}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":1015,"doc":[],"end":1039},{"type":"property","name":"author","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":1061,"end":1063,"appendix":[]}],"type":"expression","start":1061,"end":1062}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":1040,"doc":[],"end":1063},{"type":"property","name":"license","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":1086,"end":1088,"appendix":[]}],"type":"expression","start":1086,"end":1087}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":1064,"doc":[],"end":1088},{"type":"property","name":"repo","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":1108,"end":1110,"appendix":[]}],"type":"expression","start":1108,"end":1109}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":1089,"doc":[],"end":1110},{"type":"method","name":"@construct","value":{"type":"method","parameters":[{"type":{"name":"Websom.Server","reference":0,"start":1202,"end":1215,"template":false},"doc":[],"name":"server","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.server","start":1229,"end":1240,"appendix":[]}},{"type":"constant","name":"server","start":1243,"end":1249,"appendix":[]}],"type":"expression","start":1229,"end":1249},{"terms":[{"type":"constant","name":"this.registerWithServer","start":1256,"end":1281,"appendix":[{"type":"call","expression":[]}]}],"type":"expression","start":1250,"end":1281}],"start":1224,"end":1285}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":1111,"doc":["Base constructor that should not be overridden(use spawn instead)"],"end":1285},{"type":"method","name":"registerWithServer","value":{"type":"method","parameters":[],"body":{"type":"block","code":[],"start":1418,"end":1424}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":1286,"doc":["Used by standards to bind themselves to the standard server props. e.g. Websom.Server.userSystem"],"end":1424},{"type":"method","name":"clientData","value":{"type":"method","parameters":[{"type":{"name":"Websom.Request","reference":0,"start":1587,"end":1601,"template":false},"doc":[],"name":"req","optional":[]},{"type":{"name":"function","reference":0,"start":1607,"end":1640,"template":[{"name":"void","reference":0,"start":1608,"end":1612,"template":false},{"name":"string","reference":0,"start":1613,"end":1620,"template":false},{"name":"primitive","reference":0,"start":1621,"end":1631,"template":false}]},"doc":[],"name":"send","optional":[]}],"body":{"type":"block","code":[{"type":"return","expression":{"terms":[{"type":"literal","literalType":"boolean","value":false,"start":1659,"end":1664,"appendix":[]}],"type":"expression","start":1659,"end":1663},"start":1652,"end":1664}],"start":1647,"end":1668}},"output":{"name":"bool","template":[]},"flags":[],"templates":[],"start":1425,"doc":["This is used to send(string key, primitive value) client data every route request. Access this data on the client via Websom.Client[key]"],"end":1668},{"type":"method","name":"spawn","value":{"type":"method","parameters":[{"type":{"name":"map","reference":0,"start":1863,"end":1866,"template":false},"doc":[],"name":"config","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.baseConfig","start":1880,"end":1895,"appendix":[]}},{"type":"constant","name":"config","start":1898,"end":1904,"appendix":[]}],"type":"expression","start":1880,"end":1904},{"terms":[{"operator":"=","term":{"type":"constant","name":"this.name","start":1909,"end":1918,"appendix":[]}},{"type":"constant","name":"config","start":1921,"end":1935,"appendix":[{"type":"index","expression":{"terms":[{"type":"literal","literalType":"string","value":"name","start":1928,"end":1934,"appendix":[]}],"type":"expression","start":1928,"end":1933}}]}],"type":"expression","start":1905,"end":1935},{"terms":[{"operator":"=","term":{"type":"constant","name":"this.id","start":1940,"end":1947,"appendix":[]}},{"type":"constant","name":"config","start":1950,"end":1962,"appendix":[{"type":"index","expression":{"terms":[{"type":"literal","literalType":"string","value":"id","start":1957,"end":1961,"appendix":[]}],"type":"expression","start":1957,"end":1960}}]}],"type":"expression","start":1936,"end":1962}],"start":1875,"end":1966}},"output":{"name":"Websom.Status","template":[]},"flags":[],"templates":[],"start":1669,"doc":["Called as soon as the module is constructed(in Websom.Services.Module.start/reload). This method is not safe as other utils and services may not be initialized yet."],"end":1966},{"type":"method","name":"start","value":{"type":"method","parameters":[],"body":{"type":"block","code":[],"start":2177,"end":2183}},"output":{"name":"Websom.Status","template":[]},"flags":[],"templates":[],"start":1967,"attribute":[{"key":"ForceAsync","value":true}],"doc":["Called after the server has started(before listening) services and utils. @note If you need to access another module after the start cycle use Websom.Module.loaded"],"end":2183},{"type":"method","name":"stop","value":{"type":"method","parameters":[],"body":{"type":"block","code":[],"start":2379,"end":2387}},"output":{"name":"Websom.Status","template":[]},"flags":[],"templates":[],"start":2184,"doc":["Called when the modules are reloading, use this to clean up any resources. @warn Other modules may have stopped already, so they will be lost to the module service."],"end":2387},{"type":"method","name":"configure","value":{"type":"method","parameters":[],"body":{"type":"block","code":[],"start":2411,"end":2417}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":2388,"doc":[],"end":2417},{"type":"method","name":"collections","value":{"type":"method","parameters":[],"body":{"type":"block","code":[],"start":2442,"end":2448}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":2418,"doc":[],"end":2448},{"type":"method","name":"permissions","value":{"type":"method","parameters":[],"body":{"type":"block","code":[],"start":2473,"end":2479}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":2449,"doc":[],"end":2479},{"type":"method","name":"registerCollection","value":{"type":"method","parameters":[{"type":{"name":"Websom.Adapters.Database.Collection","reference":0,"start":2515,"end":2550,"template":false},"doc":[],"name":"collection","optional":[]}],"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"this.registeredCollections.push","start":2568,"end":2611,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"collection","start":2600,"end":2610,"appendix":[]}],"type":"expression","start":2600,"end":2609}]}]}],"type":"expression","start":2568,"end":2611},{"type":"if","alternatives":[],"check":{"type":"group","expression":{"terms":[{"type":"constant","name":"this.server.config.dev","start":2622,"end":2644,"appendix":[]}],"type":"expression","start":2622,"end":2643}},"body":{"type":"block","code":[{"type":"if","alternatives":[],"check":{"type":"group","expression":{"terms":[{"operator":"!=","term":{"type":"constant","name":"collection.appliedSchema","start":2654,"end":2678,"appendix":[]}},{"type":"constant","name":"null","start":2682,"end":2686,"appendix":[]}],"type":"expression","start":2654,"end":2685}},"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"collection.appliedSchema.register","start":2693,"end":2728,"appendix":[{"type":"call","expression":[]}]}],"type":"expression","start":2693,"end":2728}],"start":2693,"end":2728},"start":2650,"end":2731}],"start":2650,"end":2731},"start":2612,"end":2731}],"start":2563,"end":2732}},"output":{"name":"void","template":[]},"flags":["trust"],"templates":[],"start":2480,"doc":[],"end":2732},{"type":"method","name":"registerPermission","value":{"type":"method","parameters":[{"type":{"name":"Websom.Permission","reference":0,"start":2762,"end":2779,"template":false},"doc":[],"name":"permission","optional":[]}],"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"this.registeredPermissions.push","start":2797,"end":2840,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"permission","start":2829,"end":2839,"appendix":[]}],"type":"expression","start":2829,"end":2838}]}]}],"type":"expression","start":2797,"end":2840}],"start":2792,"end":2844}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":2733,"doc":[],"end":2844},{"type":"method","name":"registerBucket","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":2879,"end":2885,"template":false},"doc":[],"name":"name","optional":[]}],"body":{"type":"block","code":[{"type":"define","name":"bucket","valueType":"","auto":true,"value":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.Bucket","start":2914,"end":2957,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"this.server","start":2928,"end":2939,"appendix":[]}],"type":"expression","start":2928,"end":2938},{"terms":[{"type":"constant","name":"name","start":2941,"end":2945,"appendix":[]}],"type":"expression","start":2940,"end":2944},{"terms":[{"type":"constant","name":"this.name","start":2947,"end":2956,"appendix":[]}],"type":"expression","start":2946,"end":2955}]}]}],"type":"expression","start":2914,"end":2956},"start":2910,"end":2957,"appendix":[]}],"type":"expression","start":2910,"end":2956},"start":2897,"end":2957},{"terms":[{"type":"constant","name":"this.registeredBuckets.push","start":2962,"end":2997,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"bucket","start":2990,"end":2996,"appendix":[]}],"type":"expression","start":2990,"end":2995}]}]}],"type":"expression","start":2958,"end":2997},{"terms":[{"type":"constant","name":"this.server.registerBucket","start":3002,"end":3036,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"bucket","start":3029,"end":3035,"appendix":[]}],"type":"expression","start":3029,"end":3034}]}]}],"type":"expression","start":2998,"end":3036},{"type":"return","expression":{"terms":[{"type":"constant","name":"bucket","start":3050,"end":3056,"appendix":[]}],"type":"expression","start":3050,"end":3055},"start":3037,"end":3056}],"start":2892,"end":3060}},"output":{"name":"Websom.Bucket","template":[]},"flags":[],"templates":[],"start":2845,"doc":[],"end":3060},{"type":"method","name":"registerPermission","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":3103,"end":3109,"template":false},"doc":[],"name":"permission","optional":[]}],"body":{"type":"block","code":[{"type":"define","name":"perm","valueType":"","auto":true,"value":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.Permission","start":3142,"end":3171,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"permission","start":3160,"end":3170,"appendix":[]}],"type":"expression","start":3160,"end":3169}]}]}],"type":"expression","start":3142,"end":3170},"start":3138,"end":3171,"appendix":[]}],"type":"expression","start":3138,"end":3170},"start":3127,"end":3171},{"terms":[{"type":"constant","name":"this.registeredPermissions.push","start":3176,"end":3213,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"perm","start":3208,"end":3212,"appendix":[]}],"type":"expression","start":3208,"end":3211}]}]}],"type":"expression","start":3172,"end":3213},{"type":"return","expression":{"terms":[{"type":"constant","name":"perm","start":3227,"end":3231,"appendix":[]}],"type":"expression","start":3227,"end":3230},"start":3214,"end":3231}],"start":3122,"end":3235}},"output":{"name":"Websom.Permission","template":[]},"flags":[],"templates":[],"start":3061,"doc":[],"end":3235},{"type":"method","name":"setupData","value":{"type":"method","parameters":[],"body":{"type":"block","code":[],"start":3286,"end":3292}},"flags":["phpNoRef"],"output":{"name":"array","reference":0,"start":3250,"end":3273,"template":[{"name":"Websom.Container","reference":0,"start":3251,"end":3267,"template":false}]},"templates":[],"start":3236,"doc":[],"end":3292},{"type":"method","name":"setupBridge","value":{"type":"method","parameters":[],"body":{"type":"block","code":[],"start":3342,"end":3348}},"flags":["phpNoRef"],"output":{"name":"array","reference":0,"start":3307,"end":3327,"template":[{"name":"Websom.Bridge","reference":0,"start":3308,"end":3321,"template":false}]},"templates":[],"start":3293,"doc":[],"end":3348},{"type":"method","name":"pullFromGlobalScope","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":3458,"end":3464,"template":false},"doc":[],"name":"name","optional":[]}],"body":{"type":"block","code":[{"type":"native","platform":"javascript","content":"\r\n\t\t\treturn global[name];\r\n\t\t","start":3476,"end":3524}],"start":3471,"end":3528}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":3349,"doc":["Only used in node environments to grab classes defined within this module."],"end":3528}],"templates":[],"start":0,"end":3531}},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Pack", "name": "Pack", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "property", "binding": "bound", "name": "name",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "root",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "config",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}},{"optional": "false", "name": "name", "type": {"name": "string", "template": []}},{"optional": "false", "name": "root", "type": {"name": "string", "template": []}},{"optional": "false", "name": "config", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "start",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "include",  "output": {"name": "string", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "write",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "js", "type": {"name": "string", "template": []}},{"optional": "false", "name": "css", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "buildAndSave",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "callback", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "string", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "getViews",  "output": {"name": "array", "template": [{"name": "Websom.View", "template": []}]}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "build",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "callback", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "string", "template": []}, {"name": "string", "template": []}, {"name": "string", "template": []}]}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Permission", "name": "Permission", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "name",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "description",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "public",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "user",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "author",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "moderator",  "output": {"name": "bool", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "name", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "setDescription",  "output": {"name": "Websom.Permission", "template": []}, "arguments": [{"optional": "false", "name": "desc", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "isPublic",  "output": {"name": "Websom.Permission", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "isUser",  "output": {"name": "Websom.Permission", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "isAuthor",  "output": {"name": "Websom.Permission", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "isModerator",  "output": {"name": "Websom.Permission", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.PlainInterface", "name": "PlainInterface", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "route",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "handler",  "output": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.Request", "template": []}]}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "route", "type": {"name": "string", "template": []}},{"optional": "false", "name": "func", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.Request", "template": []}]}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Request", "name": "Request", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "property", "binding": "bound", "name": "client",  "output": {"name": "Websom.Client", "template": []}},{"type": "property", "binding": "bound", "name": "sent",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "path",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "query",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "headers",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "cookies",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "body",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "files",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "userCache",  "output": {"name": "Websom.Standard.UserSystem.User", "template": []}},{"type": "property", "binding": "bound", "name": "cachedUser",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "external",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "response",  "output": {"name": "Websom.Response", "template": []}},{"type": "property", "binding": "bound", "name": "jsRequest",  "output": {"name": "void", "template": []}},{"type": "property", "binding": "bound", "name": "session",  "output": {"name": "Websom.Session", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}},{"optional": "false", "name": "client", "type": {"name": "Websom.Client", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "header",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "name", "type": {"name": "string", "template": []}},{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "cookie",  "output": {"name": "Websom.Cookie", "template": []}, "arguments": [{"optional": "false", "name": "name", "type": {"name": "string", "template": []}},{"optional": "false", "name": "value", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "code",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "code", "type": {"name": "int", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "endWithSuccess",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "successMessage", "type": {"name": "string", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "endWithData",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "data", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "endWithError",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "errorMessage", "type": {"name": "string", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "endWithComponent",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "component", "type": {"name": "string", "template": []}},{"optional": "false", "name": "context", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "end",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "content", "type": {"name": "string", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "flush",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "write",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "content", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "send",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "content", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "redirect",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "route", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "serve",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "path", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "download",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "name", "type": {"name": "string", "template": []}},{"optional": "false", "name": "path", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "getUser",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "callback", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "void", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "user",  "output": {"name": "Websom.Standard.UserSystem.User", "template": []}, "arguments": [], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "grantSessionRole",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "role", "type": {"name": "string", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "revokeSessionRole",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": true, "isAsync": true}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Session", "name": "Session", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "data",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "changed",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "loaded",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "id",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "request",  "output": {"name": "Websom.Request", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "req", "type": {"name": "Websom.Request", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "set",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "key", "type": {"name": "string", "template": []}},{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "delete",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "key", "type": {"name": "string", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "getLegacy",  "output": {"name": "primitive", "template": []}, "arguments": [{"optional": "false", "name": "key", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "get",  "output": {"name": "primitive", "template": []}, "arguments": [{"optional": "false", "name": "key", "type": {"name": "string", "template": []}}], "isImplicitAsync": true, "isAsync": true}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.SinkRequest", "name": "SinkRequest", "inherits": ["Websom.Request","everything"], "members": [{"type": "property", "binding": "bound", "name": "handler",  "output": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "string", "template": []}]}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}},{"optional": "false", "name": "client", "type": {"name": "Websom.Client", "template": []}},{"optional": "false", "name": "handler", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "string", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "copyIdentity",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "req", "type": {"name": "Websom.Request", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "header", "flags": ["override"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "name", "type": {"name": "string", "template": []}},{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "code", "flags": ["override"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "code", "type": {"name": "int", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "end",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "content", "type": {"name": "string", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "property", "binding": "bound", "name": "client",  "output": {"name": "Websom.Client", "template": []}},{"type": "property", "binding": "bound", "name": "sent",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "path",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "query",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "headers",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "cookies",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "body",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "files",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "userCache",  "output": {"name": "Websom.Standard.UserSystem.User", "template": []}},{"type": "property", "binding": "bound", "name": "cachedUser",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "external",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "response",  "output": {"name": "Websom.Response", "template": []}},{"type": "property", "binding": "bound", "name": "jsRequest",  "output": {"name": "void", "template": []}},{"type": "property", "binding": "bound", "name": "session",  "output": {"name": "Websom.Session", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}},{"optional": "false", "name": "client", "type": {"name": "Websom.Client", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "cookie",  "output": {"name": "Websom.Cookie", "template": []}, "arguments": [{"optional": "false", "name": "name", "type": {"name": "string", "template": []}},{"optional": "false", "name": "value", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "endWithSuccess",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "successMessage", "type": {"name": "string", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "endWithData",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "data", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "endWithError",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "errorMessage", "type": {"name": "string", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "endWithComponent",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "component", "type": {"name": "string", "template": []}},{"optional": "false", "name": "context", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "end",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "content", "type": {"name": "string", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "flush",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "write",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "content", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "send",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "content", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "redirect",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "route", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "serve",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "path", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "download",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "name", "type": {"name": "string", "template": []}},{"optional": "false", "name": "path", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "getUser",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "callback", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "void", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "user",  "output": {"name": "Websom.Standard.UserSystem.User", "template": []}, "arguments": [], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "grantSessionRole",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "role", "type": {"name": "string", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "revokeSessionRole",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": true, "isAsync": true}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Response", "name": "Response", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "code",  "output": {"name": "int", "template": []}},{"type": "property", "binding": "bound", "name": "body",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "message",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "headers",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "cookies",  "output": {"name": "array", "template": [{"name": "Websom.Cookie", "template": []}]}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "bakeCookies",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Cookie", "name": "Cookie", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "name",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "value",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "expires",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "sameSite",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "maxAge",  "output": {"name": "int", "template": []}},{"type": "property", "binding": "bound", "name": "domain",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "path",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "secure",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "httpOnly",  "output": {"name": "bool", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "name", "type": {"name": "string", "template": []}},{"optional": "false", "name": "value", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "bake",  "output": {"name": "string", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": ["header"], "templates": [], "route": "Websom.Serializable", "name": "Serializable", "inherits": ["everything"], "members": [{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "getFieldValue",  "output": {"name": "primitive", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "getSimpleSchema",  "output": {"name": "Websom.Adapters.Database.Schema", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "saveToMap",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}, "arguments": [], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "loadFromMap", "flags": ["override"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "data", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}}], "isImplicitAsync": true, "isAsync": true}], "raw": {"type":"class","doc":[],"flags":["header"],"name":"Websom.Serializable","members":[{"type":"method","name":"@construct","value":{"type":"method","parameters":[],"body":{"type":"block","code":[],"start":55,"end":61}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":37,"doc":[],"end":61},{"type":"method","name":"getFieldValue","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":91,"end":97,"template":false},"doc":[],"name":"field","optional":[]}],"body":{"type":"block","code":[{"type":"native","platform":"javascript","content":"\r\n\t\t\tlet camel = field[0].toUpperCase() + field.substr(1, field.length);\r\n\r\n\t\t\tif (this[\"save\" + camel]) {\r\n\t\t\t\treturn this[\"save\" + camel](this[field]);\r\n\t\t\t}else{\r\n\t\t\t\treturn this[field];\r\n\t\t\t}\r\n\t\t","start":110,"end":328},{"type":"native","platform":"php","content":"\r\n\t\t\t$camel = ucfirst($field);\r\n\t\t\t\r\n\t\t\tif (method_exists($this, \"save\" . $camel)) {\r\n\t\t\t\treturn $this->{\"save\" . $camel}($this->{$k});\r\n\t\t\t}else{\r\n\t\t\t\treturn $this->{$k};\r\n\t\t\t}\r\n\t\t","start":329,"end":528}],"start":105,"end":532}},"output":{"name":"primitive","template":[]},"flags":[],"templates":[],"start":62,"doc":[],"end":532},{"type":"method","name":"getSimpleSchema","value":{"type":"method","parameters":[],"body":{"type":"block","code":[{"type":"native","platform":"javascript","content":"\r\n\t\t\treturn this.getSchema();\r\n\t\t","start":593,"end":645},{"type":"native","platform":"php","content":"\r\n\t\t\treturn $this->getSchema();\r\n\t\t","start":646,"end":699}],"start":588,"end":703}},"output":{"name":"Websom.Adapters.Database.Schema","template":[]},"flags":[],"templates":[],"start":533,"doc":[],"end":703},{"type":"method","name":"saveToMap","value":{"type":"method","parameters":[],"body":{"type":"block","code":[{"type":"define","name":"schema","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"this.getSimpleSchema","start":758,"end":780,"appendix":[{"type":"call","expression":[]}]}],"type":"expression","start":758,"end":779},"start":745,"end":780},{"type":"define","name":"mp","valueType":"","auto":true,"value":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"map","start":802,"end":807,"appendix":[{"type":"call","expression":[]}]}],"type":"expression","start":802,"end":806},"start":798,"end":807,"appendix":[]}],"type":"expression","start":798,"end":806},"start":781,"end":807},{"type":"for","in":true,"define":{"type":"define","name":"f","end":827,"start":819,"valueType":{"name":"int","reference":0,"start":823,"end":826,"template":false}},"iterate":{"terms":[{"type":"constant","name":"schema.fields","start":832,"end":845,"appendix":[]}],"type":"expression","start":831,"end":844},"body":{"type":"block","code":[{"type":"define","name":"field","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"schema.fields","start":865,"end":881,"appendix":[{"type":"index","expression":{"terms":[{"type":"constant","name":"f","start":879,"end":880,"appendix":[]}],"type":"expression","start":879,"end":879}}]}],"type":"expression","start":865,"end":880},"start":853,"end":881},{"terms":[{"operator":"=","term":{"type":"constant","name":"mp","start":887,"end":901,"appendix":[{"type":"index","expression":{"terms":[{"type":"constant","name":"field.name","start":890,"end":900,"appendix":[]}],"type":"expression","start":890,"end":899}}]}},{"type":"constant","name":"this.getFieldValue","start":904,"end":934,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"field.name","start":923,"end":933,"appendix":[]}],"type":"expression","start":923,"end":932}]}]}],"type":"expression","start":882,"end":934}],"start":847,"end":939},"mode":"in","start":808,"end":939},{"type":"return","expression":{"terms":[{"type":"constant","name":"mp","start":953,"end":955,"appendix":[]}],"type":"expression","start":953,"end":954},"start":940,"end":955}],"start":740,"end":959}},"output":{"name":"map","template":[]},"flags":[],"templates":[],"start":704,"attribute":[{"key":"ForceAsync","value":true}],"doc":[],"end":959},{"type":"method","name":"loadFromMap","value":{"type":"method","parameters":[{"type":{"name":"map","reference":0,"start":1006,"end":1009,"template":false},"doc":[],"name":"data","optional":[]}],"body":{"type":"block","code":[{"type":"native","platform":"javascript","content":"\r\n\t\t\tfor (let k in data) {\r\n\t\t\t\tif (data.hasOwnProperty(k) && this.hasOwnProperty(k)) {\r\n\t\t\t\t\tlet camel = k[0].toUpperCase() + k.substr(1, k.length);\r\n\r\n\t\t\t\t\tif (this[\"load\" + camel]) {\r\n\t\t\t\t\t\tawait this[\"load\" + camel](data[k]);\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\tthis[k] = data[k];\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t","start":1021,"end":1333},{"type":"native","platform":"php","content":"\r\n\t\t\tforeach ($data as $k => $v) {\r\n\t\t\t\tif (isset($this->$k)) {\r\n\t\t\t\t\t$camel = ucfirst($k);\r\n\t\t\t\t\t\r\n\t\t\t\t\tif (method_exists($this, \"load\" . $camel)) {\r\n\t\t\t\t\t\t$this->{\"load\" . $camel}($data[$k]);\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\t$this->{$k} = $data[$k];\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t","start":1334,"end":1615}],"start":1016,"end":1619}},"output":{"name":"void","template":[]},"flags":["override"],"templates":[],"start":960,"attribute":[{"key":"ForceAsync","value":true}],"doc":[],"end":1619}],"templates":[],"start":0,"end":1622}},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Status", "name": "Status", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "notices",  "output": {"name": "array", "template": [{"name": "Websom.Notice", "template": []}]}},{"type": "property", "binding": "bound", "name": "hadError",  "output": {"name": "bool", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "inherit",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "status", "type": {"name": "Websom.Status", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "give",  "output": {"name": "Websom.Notice", "template": []}, "arguments": [{"optional": "false", "name": "module", "type": {"name": "string", "template": []}},{"optional": "false", "name": "message", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "give",  "output": {"name": "Websom.Notice", "template": []}, "arguments": [{"optional": "false", "name": "level", "type": {"name": "int", "template": []}},{"optional": "false", "name": "module", "type": {"name": "string", "template": []}},{"optional": "false", "name": "message", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "display",  "output": {"name": "string", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "clear",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "fixed", "name": "singleError",  "output": {"name": "Websom.Status", "template": []}, "arguments": [{"optional": "false", "name": "module", "type": {"name": "string", "template": []}},{"optional": "false", "name": "error", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Notice", "name": "Notice", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "code",  "output": {"name": "int", "template": []}},{"type": "property", "binding": "bound", "name": "module",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "message",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "line",  "output": {"name": "int", "template": []}},{"type": "property", "binding": "bound", "name": "column",  "output": {"name": "int", "template": []}},{"type": "property", "binding": "bound", "name": "offset",  "output": {"name": "int", "template": []}},{"type": "property", "binding": "bound", "name": "level",  "output": {"name": "int", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "module", "type": {"name": "string", "template": []}},{"optional": "false", "name": "message", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "display",  "output": {"name": "string", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Theme", "name": "Theme", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "property", "binding": "bound", "name": "name",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "key",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "root",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "config",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}},{"optional": "false", "name": "name", "type": {"name": "string", "template": []}},{"optional": "false", "name": "root", "type": {"name": "string", "template": []}},{"optional": "false", "name": "config", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "start",  "output": {"name": "Websom.Status", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "configure",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "prefix",  "output": {"name": "string", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "include",  "output": {"name": "string", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "write",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "js", "type": {"name": "string", "template": []}},{"optional": "false", "name": "css", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "buildAndSave",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "callback", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "string", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "build",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "callback", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "string", "template": []}, {"name": "string", "template": []}, {"name": "string", "template": []}]}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.View", "name": "View", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "property", "binding": "bound", "name": "engine",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "type",  "output": {"name": "int", "template": []}},{"type": "property", "binding": "bound", "name": "renderView",  "output": {"name": "Websom.Render.View", "template": []}},{"type": "property", "binding": "bound", "name": "raw",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "shallow",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "renderViewData",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "handles",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "greedy",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "meta",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "template",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "serverHandles",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "client",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "location",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "owner",  "output": {"name": "Websom.Module", "template": []}},{"type": "property", "binding": "bound", "name": "websiteView",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "hasServerScript",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "phpScript",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "jsScript",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "carbonScript",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "hasLocalExport",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "isPage",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "name",  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "render",  "output": {"name": "string", "template": []}, "arguments": [{"optional": "false", "name": "ctx", "type": {"name": "Websom.Render.Context", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "quickParse",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}, "arguments": [{"optional": "false", "name": "raw", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "parse",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}, "arguments": [{"optional": "false", "name": "raw", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "loadFromFile",  "output": {"name": "Websom.Status", "template": []}, "arguments": [{"optional": "false", "name": "location", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "runServerScript", "flags": ["value"],  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}, "arguments": [{"optional": "false", "name": "req", "type": {"name": "Websom.Request", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "buildDev",  "output": {"name": "string", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "buildRenderView",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "serialize",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "deserialize",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "data", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Ini", "name": "Ini", "inherits": ["everything"], "members": [{"type": "method", "binding": "fixed", "name": "parse", "flags": ["inline", "native"],  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}, "arguments": [{"optional": "false", "name": "filePath", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": ["header"], "templates": [], "route": "Websom.Json", "name": "Json", "inherits": ["everything"], "members": [{"type": "method", "binding": "fixed", "name": "parse", "flags": ["phpNoRef"],  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "fixed", "name": "encode",  "output": {"name": "string", "template": []}, "arguments": [{"optional": "false", "name": "input", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": false, "isAsync": false}], "raw": {"type":"class","doc":[],"flags":["header"],"name":"Websom.Json","members":[{"type":"method","name":"parse","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":54,"end":60,"template":false},"doc":[],"name":"input","optional":[]}],"body":{"type":"block","code":[{"type":"native","platform":"php","content":"\r\n\t\t\treturn json_decode($input, true);\r\n\t\t","start":73,"end":127},{"type":"native","platform":"javascript","content":"\r\n\t\t\treturn JSON.parse(input);\r\n\t\t","start":128,"end":187}],"start":68,"end":191}},"output":{"name":"map","template":[]},"flags":["phpNoRef","fixed"],"templates":[],"start":29,"doc":[],"end":191},{"type":"method","name":"encode","value":{"type":"method","parameters":[{"type":{"name":"primitive","reference":0,"start":217,"end":226,"template":false},"doc":[],"name":"input","optional":[]}],"body":{"type":"block","code":[{"type":"native","platform":"php","content":"\r\n\t\t\treturn json_encode($input);\r\n\t\t","start":239,"end":287},{"type":"native","platform":"javascript","content":"\r\n\t\t\treturn JSON.stringify(input);\r\n\t\t","start":288,"end":351}],"start":234,"end":355}},"output":{"name":"string","template":[]},"flags":["fixed"],"templates":[],"start":192,"doc":[],"end":355}],"templates":[],"start":0,"end":358}},{"type": "class", "base": "namespace", "flags": [], "templates": [], "route": "Websom.OAuth", "name": "OAuth", "inherits": ["everything"], "members": []},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.OAuth.Response", "name": "Response", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "failed",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "errorMessage",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "data",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "method", "binding": "bound", "name": "@construct", "flags": ["trust"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "errorMessage", "type": {"name": "string", "template": []}},{"optional": "false", "name": "data", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.OAuth.Client", "name": "Client", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "clientId",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "pass",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "token",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "tokenUrl",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "expiration",  "output": {"name": "uint64", "template": []}},{"type": "property", "binding": "bound", "name": "grantType",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "stored",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "storeExpired",  "output": {"name": "bool", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "tokenUrl", "type": {"name": "string", "template": []}},{"optional": "false", "name": "clientId", "type": {"name": "string", "template": []}},{"optional": "false", "name": "pass", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "store",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "filename", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "post",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "url", "type": {"name": "string", "template": []}},{"optional": "false", "name": "data", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"optional": "false", "name": "callback", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.OAuth.Response", "template": []}]}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Path", "name": "Path", "inherits": ["everything"], "members": [{"type": "method", "binding": "fixed", "name": "relativePath",  "output": {"name": "string", "template": []}, "arguments": [{"optional": "false", "name": "from", "type": {"name": "string", "template": []}},{"optional": "false", "name": "to", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.PHP", "name": "PHP", "inherits": ["everything"], "members": [{"type": "method", "binding": "fixed", "name": "load",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Http", "name": "Http", "inherits": ["everything"], "members": [{"type": "method", "binding": "fixed", "name": "postJson",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}},{"optional": "false", "name": "url", "type": {"name": "string", "template": []}},{"optional": "false", "name": "data", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"optional": "false", "name": "callback", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "map", "template": [{"name": "primitive", "template": []}]}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "fixed", "name": "get",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "url", "type": {"name": "string", "template": []}},{"optional": "false", "name": "data", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"optional": "false", "name": "callback", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "map", "template": [{"name": "primitive", "template": []}]}]}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Result", "name": "Result", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "error",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "hadError",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "status",  "output": {"name": "int", "template": []}},{"type": "property", "binding": "bound", "name": "data",  "output": {"name": "primitive", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "error", "type": {"name": "string", "template": []}},{"optional": "false", "name": "data", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.RequestChain", "name": "RequestChain", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "property", "binding": "bound", "name": "url",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "urlencode",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "jsonencode",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "data",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "doAuth",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "user",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "pass",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "bearer",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "doParse",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "_headers",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}},{"optional": "false", "name": "url", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "auth",  "output": {"name": "Websom.RequestChain", "template": []}, "arguments": [{"optional": "false", "name": "user", "type": {"name": "string", "template": []}},{"optional": "false", "name": "pass", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "auth",  "output": {"name": "Websom.RequestChain", "template": []}, "arguments": [{"optional": "false", "name": "bearer", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "parseJson",  "output": {"name": "Websom.RequestChain", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "json",  "output": {"name": "Websom.RequestChain", "template": []}, "arguments": [{"optional": "false", "name": "data", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "form",  "output": {"name": "Websom.RequestChain", "template": []}, "arguments": [{"optional": "false", "name": "data", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "form",  "output": {"name": "Websom.RequestChain", "template": []}, "arguments": [{"optional": "false", "name": "key", "type": {"name": "string", "template": []}},{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "header",  "output": {"name": "Websom.RequestChain", "template": []}, "arguments": [{"optional": "false", "name": "key", "type": {"name": "string", "template": []}},{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "headers",  "output": {"name": "Websom.RequestChain", "template": []}, "arguments": [{"optional": "false", "name": "headers", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "execute", "flags": ["async"],  "output": {"name": "Websom.Result", "template": []}, "arguments": [{"optional": "false", "name": "method", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": true},{"type": "method", "binding": "bound", "name": "phpRequest",  "output": {"name": "Websom.Request", "template": []}, "arguments": [{"optional": "false", "name": "method", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "makeRequest",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "method", "type": {"name": "string", "template": []}},{"optional": "false", "name": "callback", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.Result", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "delete",  "output": {"name": "Websom.RequestChain", "template": []}, "arguments": [{"optional": "false", "name": "callback", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.Result", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "put",  "output": {"name": "Websom.RequestChain", "template": []}, "arguments": [{"optional": "false", "name": "callback", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.Result", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "get",  "output": {"name": "Websom.RequestChain", "template": []}, "arguments": [{"optional": "false", "name": "callback", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.Result", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "post",  "output": {"name": "Websom.RequestChain", "template": []}, "arguments": [{"optional": "false", "name": "callback", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.Result", "template": []}]}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Time", "name": "Time", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "timestamp",  "output": {"name": "uint64", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "fixed", "name": "now",  "output": {"name": "uint64", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "fixed", "name": "year",  "output": {"name": "int", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.MySqlDatabaseSelect", "name": "MySqlDatabaseSelect", "inherits": ["Websom.DatabaseSelect","everything"], "members": [{"type": "property", "binding": "bound", "name": "currentWhere",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "notMode",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "query",  "output": {"name": "array", "template": [{"name": "string", "template": []}]}},{"type": "property", "binding": "bound", "name": "multiQuery",  "output": {"name": "array", "template": [{"name": "string", "template": []}]}},{"type": "property", "binding": "bound", "name": "values",  "output": {"name": "array", "template": [{"name": "primitive", "template": []}]}},{"type": "method", "binding": "bound", "name": "@construct", "flags": ["override"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "database", "type": {"name": "Websom.Database", "template": []}},{"optional": "false", "name": "table", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "field",  "output": {"name": "Websom.DatabaseSelect", "template": []}, "arguments": [{"optional": "false", "name": "fields", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "new",  "output": {"name": "Websom.DatabaseSelect", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "where",  "output": {"name": "Websom.DatabaseSelect", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "not",  "output": {"name": "Websom.DatabaseSelect", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "getNot",  "output": {"name": "string", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "in",  "output": {"name": "Websom.DatabaseSelect", "template": []}, "arguments": [{"optional": "false", "name": "values", "type": {"name": "array", "template": [{"name": "primitive", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "order",  "output": {"name": "Websom.DatabaseSelect", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "string", "template": []}},{"optional": "false", "name": "order", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "build",  "output": {"name": "string", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "trim",  "output": {"name": "string", "template": []}, "arguments": [{"optional": "false", "name": "query", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "run",  "output": {"name": "Websom.DatabaseSelect", "template": []}, "arguments": [{"optional": "false", "name": "callback", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "string", "template": []}, {"name": "array", "template": [{"name": "map", "template": [{"name": "primitive", "template": []}]}]}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "or", "flags": ["force"],  "output": {"name": "Websom.DatabaseSelect", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "and", "flags": ["force"],  "output": {"name": "Websom.DatabaseSelect", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "group",  "output": {"name": "Websom.DatabaseSelect", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "endGroup",  "output": {"name": "Websom.DatabaseSelect", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "equals",  "output": {"name": "Websom.DatabaseSelect", "template": []}, "arguments": [{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "like",  "output": {"name": "Websom.DatabaseSelect", "template": []}, "arguments": [{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "wildLike",  "output": {"name": "Websom.DatabaseSelect", "template": []}, "arguments": [{"optional": "false", "name": "value", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "greater",  "output": {"name": "Websom.DatabaseSelect", "template": []}, "arguments": [{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "lesser",  "output": {"name": "Websom.DatabaseSelect", "template": []}, "arguments": [{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "set",  "output": {"name": "Websom.DatabaseSelect", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "string", "template": []}},{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "property", "binding": "bound", "name": "table",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "workingField",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "fields",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "limitAmount",  "output": {"name": "int", "template": []}},{"type": "property", "binding": "bound", "name": "limitOffset",  "output": {"name": "int", "template": []}},{"type": "property", "binding": "bound", "name": "orderField",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "orderWay",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "doUpdate",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "doDelete",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "groupLevel",  "output": {"name": "int", "template": []}},{"type": "property", "binding": "bound", "name": "freshGroup",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "updates",  "output": {"name": "array", "template": [{"name": "Websom.DatabaseUpdate", "template": []}]}},{"type": "method", "binding": "bound", "name": "doesSet",  "output": {"name": "bool", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "limit",  "output": {"name": "Websom.DatabaseSelect", "template": []}, "arguments": [{"optional": "false", "name": "documents", "type": {"name": "int", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "limit",  "output": {"name": "Websom.DatabaseSelect", "template": []}, "arguments": [{"optional": "false", "name": "offset", "type": {"name": "int", "template": []}},{"optional": "false", "name": "documents", "type": {"name": "int", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "update",  "output": {"name": "Websom.DatabaseSelect", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "delete",  "output": {"name": "Websom.DatabaseSelect", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "property", "binding": "bound", "name": "database",  "output": {"name": "Websom.Database", "template": []}}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.MySqlDatabaseInsert", "name": "MySqlDatabaseInsert", "inherits": ["Websom.DatabaseInsert","everything"], "members": [{"type": "method", "binding": "bound", "name": "@construct", "flags": ["override"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "database", "type": {"name": "Websom.Database", "template": []}},{"optional": "false", "name": "table", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "build",  "output": {"name": "string", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "run",  "output": {"name": "Websom.DatabaseInsert", "template": []}, "arguments": [{"optional": "false", "name": "callback", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "string", "template": []}, {"name": "primitive", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "new",  "output": {"name": "Websom.DatabaseInsert", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "get",  "output": {"name": "primitive", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "set",  "output": {"name": "Websom.DatabaseInsert", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "string", "template": []}},{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "property", "binding": "bound", "name": "table",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "number",  "output": {"name": "int", "template": []}},{"type": "property", "binding": "bound", "name": "isMulti",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "values",  "output": {"name": "array", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "multiKeys",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "inserts",  "output": {"name": "array", "template": [{"name": "Websom.DatabaseUpdate", "template": []}]}},{"type": "property", "binding": "bound", "name": "multiInserts",  "output": {"name": "array", "template": [{"name": "array", "template": [{"name": "Websom.DatabaseUpdate", "template": []}]}]}},{"type": "method", "binding": "bound", "name": "doesSet",  "output": {"name": "bool", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "amount",  "output": {"name": "Websom.DatabaseInsert", "template": []}, "arguments": [{"optional": "false", "name": "number", "type": {"name": "int", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "multi",  "output": {"name": "Websom.DatabaseInsert", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "property", "binding": "bound", "name": "database",  "output": {"name": "Websom.Database", "template": []}}]},{"type": "class", "base": "namespace", "flags": [], "templates": [], "route": "Websom.Calculators", "name": "Calculators", "inherits": ["everything"], "members": []},{"type": "class", "base": "class", "flags": ["header","header"], "templates": [], "route": "Websom.Calculators.Average", "name": "Average", "inherits": ["Websom.Calculator","everything"], "members": [{"type": "property", "binding": "bound", "name": "fieldName",  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "fieldName", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "insert", "flags": ["override", "trust"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "doc", "type": {"name": "Websom.Adapters.Database.Document", "template": []}},{"optional": "false", "name": "collection", "type": {"name": "Websom.Adapters.Database.Collection", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "update", "flags": ["override", "trust"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "oldDoc", "type": {"name": "Websom.Adapters.Database.Document", "template": []}},{"optional": "false", "name": "newDoc", "type": {"name": "Websom.Adapters.Database.Document", "template": []}},{"optional": "false", "name": "collection", "type": {"name": "Websom.Adapters.Database.Collection", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "delete", "flags": ["override", "trust"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "doc", "type": {"name": "Websom.Adapters.Database.Document", "template": []}},{"optional": "false", "name": "collection", "type": {"name": "Websom.Adapters.Database.Collection", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "get", "flags": ["override", "trust"],  "output": {"name": "primitive", "template": []}, "arguments": [{"optional": "false", "name": "collection", "type": {"name": "Websom.Adapters.Database.Collection", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "property", "binding": "bound", "name": "collection",  "output": {"name": "Websom.Adapters.Database.Collection", "template": []}},{"type": "property", "binding": "bound", "name": "getterName",  "output": {"name": "string", "template": []}}], "raw": {"type":"class","doc":[],"flags":["header","header"],"name":"Websom.Calculators.Average","members":[{"type":"property","name":"fieldName","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":5427,"end":5429,"appendix":[]}],"type":"expression","start":5427,"end":5428}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":5408,"doc":[],"end":5429},{"type":"method","name":"@construct","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":5451,"end":5457,"template":false},"doc":[],"name":"fieldName","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.fieldName","start":5474,"end":5488,"appendix":[]}},{"type":"constant","name":"fieldName","start":5491,"end":5500,"appendix":[]}],"type":"expression","start":5474,"end":5500}],"start":5469,"end":5504}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":5430,"doc":[],"end":5504},{"type":"method","name":"insert","value":{"type":"method","parameters":[{"type":{"name":"Websom.Adapters.Database.Document","reference":0,"start":5537,"end":5570,"template":false},"doc":[],"name":"doc","optional":[]},{"type":{"name":"Websom.Adapters.Database.Collection","reference":0,"start":5576,"end":5611,"template":false},"doc":[],"name":"collection","optional":[]}],"body":{"type":"block","code":[{"type":"define","name":"metaDoc","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"collection.meta","start":5643,"end":5670,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"string","value":"avg_calc","start":5659,"end":5669,"appendix":[]}],"type":"expression","start":5659,"end":5668}]}]}],"type":"expression","start":5643,"end":5669},"start":5629,"end":5670},{"terms":[{"type":"constant","name":"metaDoc.incrementNumberField","start":5675,"end":5709,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"number","value":1,"integer":true,"start":5704,"end":5705,"appendix":[]}],"type":"expression","start":5704,"end":5704},{"terms":[{"type":"literal","literalType":"number","value":1,"integer":true,"start":5707,"end":5708,"appendix":[]}],"type":"expression","start":5706,"end":5707}]}]}],"type":"expression","start":5671,"end":5709},{"terms":[{"type":"constant","name":"metaDoc.incrementNumberField","start":5716,"end":5772,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"number","value":2,"integer":true,"start":5745,"end":5746,"appendix":[]}],"type":"expression","start":5745,"end":5745},{"terms":[{"type":"constant","name":"doc.get","start":5748,"end":5771,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"this.fieldName","start":5756,"end":5770,"appendix":[]}],"type":"expression","start":5756,"end":5769}]}]}],"type":"expression","start":5747,"end":5770}]}]}],"type":"expression","start":5710,"end":5772},{"terms":[{"type":"constant","name":"metaDoc.update","start":5779,"end":5795,"appendix":[{"type":"call","expression":[]}]}],"type":"expression","start":5773,"end":5795}],"start":5624,"end":5799}},"output":{"name":"void","template":[]},"flags":["trust","override"],"templates":[],"start":5505,"doc":[],"end":5799},{"type":"method","name":"update","value":{"type":"method","parameters":[{"type":{"name":"Websom.Adapters.Database.Document","reference":0,"start":5832,"end":5865,"template":false},"doc":[],"name":"oldDoc","optional":[]},{"type":{"name":"Websom.Adapters.Database.Document","reference":0,"start":5874,"end":5907,"template":false},"doc":[],"name":"newDoc","optional":[]},{"type":{"name":"Websom.Adapters.Database.Collection","reference":0,"start":5916,"end":5951,"template":false},"doc":[],"name":"collection","optional":[]}],"body":{"type":"block","code":[{"type":"if","alternatives":[],"check":{"type":"group","expression":{"terms":[{"operator":"!=","term":{"type":"constant","name":"newDoc.get","start":5973,"end":5999,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"this.fieldName","start":5984,"end":5998,"appendix":[]}],"type":"expression","start":5984,"end":5997}]}]}},{"type":"constant","name":"oldDoc.get","start":6003,"end":6029,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"this.fieldName","start":6014,"end":6028,"appendix":[]}],"type":"expression","start":6014,"end":6027}]}]}],"type":"expression","start":5973,"end":6028}},"body":{"type":"block","code":[{"type":"define","name":"metaDoc","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"collection.meta","start":6051,"end":6078,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"string","value":"avg_calc","start":6067,"end":6077,"appendix":[]}],"type":"expression","start":6067,"end":6076}]}]}],"type":"expression","start":6051,"end":6077},"start":6037,"end":6078},{"type":"define","name":"oldVal","valueType":{"name":"float","reference":0,"start":6090,"end":6095,"template":false},"value":{"terms":[{"type":"constant","name":"oldDoc.get","start":6105,"end":6131,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"this.fieldName","start":6116,"end":6130,"appendix":[]}],"type":"expression","start":6116,"end":6129}]}]}],"type":"expression","start":6105,"end":6130},"start":6079,"end":6131},{"type":"define","name":"newVal","valueType":{"name":"float","reference":0,"start":6141,"end":6146,"template":false},"value":{"terms":[{"type":"constant","name":"newDoc.get","start":6156,"end":6182,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"this.fieldName","start":6167,"end":6181,"appendix":[]}],"type":"expression","start":6167,"end":6180}]}]}],"type":"expression","start":6156,"end":6181},"start":6132,"end":6182},{"terms":[{"type":"constant","name":"metaDoc.incrementNumberField","start":6190,"end":6238,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"number","value":2,"integer":true,"start":6219,"end":6220,"appendix":[]}],"type":"expression","start":6219,"end":6219},{"terms":[{"operator":"-","term":{"type":"constant","name":"newVal","start":6222,"end":6228,"appendix":[]}},{"type":"constant","name":"oldVal","start":6231,"end":6237,"appendix":[]}],"type":"expression","start":6221,"end":6236}]}]}],"type":"expression","start":6183,"end":6238},{"terms":[{"type":"constant","name":"metaDoc.update","start":6246,"end":6262,"appendix":[{"type":"call","expression":[]}]}],"type":"expression","start":6239,"end":6262}],"start":6031,"end":6267},"start":5969,"end":6270}],"start":5964,"end":6271}},"output":{"name":"void","template":[]},"flags":["trust","override"],"templates":[],"start":5800,"doc":[],"end":6271},{"type":"method","name":"delete","value":{"type":"method","parameters":[{"type":{"name":"Websom.Adapters.Database.Document","reference":0,"start":6304,"end":6337,"template":false},"doc":[],"name":"doc","optional":[]},{"type":{"name":"Websom.Adapters.Database.Collection","reference":0,"start":6343,"end":6378,"template":false},"doc":[],"name":"collection","optional":[]}],"body":{"type":"block","code":[{"type":"define","name":"metaDoc","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"collection.meta","start":6410,"end":6437,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"string","value":"avg_calc","start":6426,"end":6436,"appendix":[]}],"type":"expression","start":6426,"end":6435}]}]}],"type":"expression","start":6410,"end":6436},"start":6396,"end":6437},{"terms":[{"type":"constant","name":"metaDoc.incrementNumberField","start":6442,"end":6477,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"number","value":1,"integer":true,"start":6471,"end":6472,"appendix":[]}],"type":"expression","start":6471,"end":6471},{"terms":[{"type":"literal","literalType":"number","value":1,"integer":true,"start":6474,"end":6476,"appendix":[],"prefix":"-"}],"type":"expression","start":6473,"end":6475}]}]}],"type":"expression","start":6438,"end":6477},{"type":"define","name":"value","valueType":{"name":"float","reference":0,"start":6488,"end":6493,"template":false},"value":{"terms":[{"type":"constant","name":"doc.get","start":6502,"end":6525,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"this.fieldName","start":6510,"end":6524,"appendix":[]}],"type":"expression","start":6510,"end":6523}]}]}],"type":"expression","start":6502,"end":6524},"start":6478,"end":6525},{"terms":[{"type":"constant","name":"metaDoc.incrementNumberField","start":6530,"end":6569,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"number","value":2,"integer":true,"start":6559,"end":6560,"appendix":[]}],"type":"expression","start":6559,"end":6559},{"terms":[{"type":"constant","name":"value","start":6562,"end":6568,"appendix":[],"prefix":"-"}],"type":"expression","start":6561,"end":6567}]}]}],"type":"expression","start":6526,"end":6569},{"terms":[{"type":"constant","name":"metaDoc.update","start":6576,"end":6592,"appendix":[{"type":"call","expression":[]}]}],"type":"expression","start":6570,"end":6592}],"start":6391,"end":6596}},"output":{"name":"void","template":[]},"flags":["trust","override"],"templates":[],"start":6272,"doc":[],"end":6596},{"type":"method","name":"get","value":{"type":"method","parameters":[{"type":{"name":"Websom.Adapters.Database.Collection","reference":0,"start":6631,"end":6666,"template":false},"doc":[],"name":"collection","optional":[]}],"body":{"type":"block","code":[{"type":"define","name":"metaDoc","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"collection.meta","start":6698,"end":6725,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"string","value":"avg_calc","start":6714,"end":6724,"appendix":[]}],"type":"expression","start":6714,"end":6723}]}]}],"type":"expression","start":6698,"end":6724},"start":6684,"end":6725},{"type":"define","name":"total","valueType":{"name":"float","reference":0,"start":6736,"end":6741,"template":false},"value":{"terms":[{"type":"constant","name":"metaDoc.numberField","start":6750,"end":6772,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"number","value":2,"integer":true,"start":6770,"end":6771,"appendix":[]}],"type":"expression","start":6770,"end":6770}]}]}],"type":"expression","start":6750,"end":6771},"start":6726,"end":6772},{"type":"define","name":"count","valueType":{"name":"float","reference":0,"start":6781,"end":6786,"template":false},"value":{"terms":[{"type":"constant","name":"metaDoc.numberField","start":6795,"end":6817,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"number","value":1,"integer":true,"start":6815,"end":6816,"appendix":[]}],"type":"expression","start":6815,"end":6815}]}]}],"type":"expression","start":6795,"end":6816},"start":6773,"end":6817},{"type":"return","expression":{"terms":[{"operator":"/","term":{"type":"constant","name":"total","start":6831,"end":6836,"appendix":[]}},{"type":"constant","name":"count","start":6839,"end":6844,"appendix":[]}],"type":"expression","start":6831,"end":6843},"start":6818,"end":6844}],"start":6679,"end":6848}},"output":{"name":"primitive","template":[]},"flags":["trust","override"],"templates":[],"start":6597,"doc":[],"end":6848}],"inherits":{"types":[{"name":"Websom.Calculator","reference":0,"start":5386,"end":5403,"template":false}]},"templates":[],"start":5333,"end":6851}},{"type": "class", "base": "class", "flags": ["header","header"], "templates": [], "route": "Websom.Calculators.KeyCount", "name": "KeyCount", "inherits": ["Websom.Calculator","everything"], "members": [{"type": "property", "binding": "bound", "name": "fieldName",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "clusterType",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "toCollection",  "output": {"name": "Websom.Adapters.Database.Collection", "template": []}},{"type": "property", "binding": "bound", "name": "toCollectionFieldName",  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "fieldName", "type": {"name": "string", "template": []}},{"optional": "false", "name": "clusterType", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "fieldName", "type": {"name": "string", "template": []}},{"optional": "false", "name": "clusterType", "type": {"name": "string", "template": []}},{"optional": "false", "name": "toCollection", "type": {"name": "Websom.Adapters.Database.Collection", "template": []}},{"optional": "false", "name": "toCollectionFieldName", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "trackGroup", "flags": ["trust"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "key", "type": {"name": "string", "template": []}},{"optional": "false", "name": "change", "type": {"name": "int", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "insert", "flags": ["override", "trust"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "doc", "type": {"name": "Websom.Adapters.Database.Document", "template": []}},{"optional": "false", "name": "collection", "type": {"name": "Websom.Adapters.Database.Collection", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "update", "flags": ["override", "trust"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "oldDoc", "type": {"name": "Websom.Adapters.Database.Document", "template": []}},{"optional": "false", "name": "newDoc", "type": {"name": "Websom.Adapters.Database.Document", "template": []}},{"optional": "false", "name": "collection", "type": {"name": "Websom.Adapters.Database.Collection", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "delete", "flags": ["override", "trust"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "doc", "type": {"name": "Websom.Adapters.Database.Document", "template": []}},{"optional": "false", "name": "collection", "type": {"name": "Websom.Adapters.Database.Collection", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "get", "flags": ["override", "trust"],  "output": {"name": "primitive", "template": []}, "arguments": [{"optional": "false", "name": "collection", "type": {"name": "Websom.Adapters.Database.Collection", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "getCountOfKey",  "output": {"name": "int", "template": []}, "arguments": [{"optional": "false", "name": "key", "type": {"name": "string", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "property", "binding": "bound", "name": "collection",  "output": {"name": "Websom.Adapters.Database.Collection", "template": []}},{"type": "property", "binding": "bound", "name": "getterName",  "output": {"name": "string", "template": []}}], "raw": {"type":"class","doc":[],"flags":["header","header"],"name":"Websom.Calculators.KeyCount","members":[{"type":"property","name":"fieldName","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":6947,"end":6949,"appendix":[]}],"type":"expression","start":6947,"end":6948}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":6928,"doc":[],"end":6949},{"type":"property","name":"clusterType","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"value","start":6974,"end":6981,"appendix":[]}],"type":"expression","start":6974,"end":6980}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":6950,"doc":[],"end":6981},{"type":"property","name":"toCollection","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":7038,"end":7042,"appendix":[]}],"type":"expression","start":7038,"end":7041}},"output":{"name":"Websom.Adapters.Database.Collection","template":[]},"flags":[],"templates":[],"start":6982,"doc":[],"end":7042},{"type":"property","name":"toCollectionFieldName","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":7077,"end":7079,"appendix":[]}],"type":"expression","start":7077,"end":7078}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":7043,"doc":[],"end":7079},{"type":"method","name":"@construct","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":7101,"end":7107,"template":false},"doc":[],"name":"fieldName","optional":[]},{"type":{"name":"string","reference":0,"start":7119,"end":7125,"template":false},"doc":[],"name":"clusterType","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.fieldName","start":7144,"end":7158,"appendix":[]}},{"type":"constant","name":"fieldName","start":7161,"end":7170,"appendix":[]}],"type":"expression","start":7144,"end":7170},{"terms":[{"operator":"=","term":{"type":"constant","name":"this.clusterType","start":7175,"end":7191,"appendix":[]}},{"type":"constant","name":"clusterType","start":7194,"end":7205,"appendix":[]}],"type":"expression","start":7171,"end":7205}],"start":7139,"end":7209}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":7080,"doc":[],"end":7209},{"type":"method","name":"@construct","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":7231,"end":7237,"template":false},"doc":[],"name":"fieldName","optional":[]},{"type":{"name":"string","reference":0,"start":7249,"end":7255,"template":false},"doc":[],"name":"clusterType","optional":[]},{"type":{"name":"Websom.Adapters.Database.Collection","reference":0,"start":7269,"end":7304,"template":false},"doc":[],"name":"toCollection","optional":[]},{"type":{"name":"string","reference":0,"start":7319,"end":7325,"template":false},"doc":[],"name":"toCollectionFieldName","optional":[]}],"body":{"type":"block","code":[{"terms":[{"operator":"=","term":{"type":"constant","name":"this.fieldName","start":7354,"end":7368,"appendix":[]}},{"type":"constant","name":"fieldName","start":7371,"end":7380,"appendix":[]}],"type":"expression","start":7354,"end":7380},{"terms":[{"operator":"=","term":{"type":"constant","name":"this.clusterType","start":7385,"end":7401,"appendix":[]}},{"type":"constant","name":"clusterType","start":7404,"end":7415,"appendix":[]}],"type":"expression","start":7381,"end":7415},{"terms":[{"operator":"=","term":{"type":"constant","name":"this.toCollection","start":7420,"end":7437,"appendix":[]}},{"type":"constant","name":"toCollection","start":7440,"end":7452,"appendix":[]}],"type":"expression","start":7416,"end":7452},{"terms":[{"operator":"=","term":{"type":"constant","name":"this.toCollectionFieldName","start":7457,"end":7483,"appendix":[]}},{"type":"constant","name":"this.toCollectionFieldName","start":7486,"end":7512,"appendix":[]}],"type":"expression","start":7453,"end":7512}],"start":7349,"end":7516}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":7210,"doc":[],"end":7516},{"type":"method","name":"trackGroup","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":7544,"end":7550,"template":false},"doc":[],"name":"key","optional":[]},{"type":{"name":"int","reference":0,"start":7556,"end":7559,"template":false},"doc":[],"name":"change","optional":[]}],"body":{"type":"block","code":[{"type":"if","alternatives":[{"type":"else","body":{"type":"block","code":[{"type":"define","name":"metaDoc","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"this.collection.meta","start":7759,"end":7799,"appendix":[{"type":"call","expression":[{"terms":[{"operator":"+","term":{"type":"literal","literalType":"string","value":"key_count_","start":7780,"end":7792,"appendix":[]}},{"type":"constant","name":"key","start":7795,"end":7798,"appendix":[]}],"type":"expression","start":7780,"end":7797}]}]}],"type":"expression","start":7759,"end":7798},"start":7745,"end":7799},{"terms":[{"type":"constant","name":"metaDoc.incrementNumberField","start":7807,"end":7846,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"number","value":1,"integer":true,"start":7836,"end":7837,"appendix":[]}],"type":"expression","start":7836,"end":7836},{"terms":[{"type":"constant","name":"change","start":7839,"end":7845,"appendix":[]}],"type":"expression","start":7838,"end":7844}]}]}],"type":"expression","start":7800,"end":7846},{"terms":[{"type":"constant","name":"metaDoc.update","start":7854,"end":7870,"appendix":[{"type":"call","expression":[]}]}],"type":"expression","start":7847,"end":7870}],"start":7739,"end":7875}}],"check":{"type":"group","expression":{"terms":[{"operator":"!=","term":{"type":"constant","name":"this.toCollection","start":7577,"end":7594,"appendix":[]}},{"type":"constant","name":"null","start":7598,"end":7602,"appendix":[]}],"type":"expression","start":7577,"end":7601}},"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"this.toCollection.update","start":7610,"end":7729,"appendix":[{"type":"call","expression":[]},{"type":"dot","name":"where"},{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"string","value":"id","start":7649,"end":7653,"appendix":[]}],"type":"expression","start":7649,"end":7652},{"terms":[{"type":"literal","literalType":"string","value":"==","start":7655,"end":7659,"appendix":[]}],"type":"expression","start":7654,"end":7658},{"terms":[{"type":"constant","name":"key","start":7661,"end":7664,"appendix":[]}],"type":"expression","start":7660,"end":7663}]},{"type":"dot","name":"increment"},{"type":"call","expression":[{"terms":[{"type":"constant","name":"this.toCollectionFieldName","start":7682,"end":7708,"appendix":[]}],"type":"expression","start":7682,"end":7707},{"terms":[{"type":"constant","name":"change","start":7710,"end":7716,"appendix":[]}],"type":"expression","start":7709,"end":7715}]},{"type":"dot","name":"run"},{"type":"call","expression":[]}]}],"type":"expression","start":7610,"end":7729}],"start":7604,"end":7734},"start":7573,"end":7875}],"start":7568,"end":7879}},"output":{"name":"void","template":[]},"flags":["trust"],"templates":[],"start":7517,"doc":[],"end":7879},{"type":"method","name":"insert","value":{"type":"method","parameters":[{"type":{"name":"Websom.Adapters.Database.Document","reference":0,"start":7912,"end":7945,"template":false},"doc":[],"name":"doc","optional":[]},{"type":{"name":"Websom.Adapters.Database.Collection","reference":0,"start":7951,"end":7986,"template":false},"doc":[],"name":"collection","optional":[]}],"body":{"type":"block","code":[{"type":"if","alternatives":[{"type":"else","body":{"type":"block","code":[{"terms":[{"type":"constant","name":"this.trackGroup","start":8200,"end":8243,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"doc.get","start":8216,"end":8239,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"this.fieldName","start":8224,"end":8238,"appendix":[]}],"type":"expression","start":8224,"end":8237}]}]}],"type":"expression","start":8216,"end":8238},{"terms":[{"type":"literal","literalType":"number","value":1,"integer":true,"start":8241,"end":8242,"appendix":[]}],"type":"expression","start":8240,"end":8241}]}]}],"type":"expression","start":8200,"end":8243}],"start":8194,"end":8248}}],"check":{"type":"group","expression":{"terms":[{"operator":"==","term":{"type":"constant","name":"this.clusterType","start":8008,"end":8024,"appendix":[]}},{"type":"literal","literalType":"string","value":"array","start":8028,"end":8035,"appendix":[]}],"type":"expression","start":8008,"end":8034}},"body":{"type":"block","code":[{"type":"define","name":"arr","valueType":{"name":"array","reference":0,"start":8047,"end":8060,"template":[{"name":"string","reference":0,"start":8048,"end":8054,"template":false}]},"value":{"terms":[{"type":"constant","name":"doc.get","start":8067,"end":8090,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"this.fieldName","start":8075,"end":8089,"appendix":[]}],"type":"expression","start":8075,"end":8088}]}]}],"type":"expression","start":8067,"end":8089},"start":8043,"end":8090},{"type":"if","alternatives":[],"check":{"type":"group","expression":{"terms":[{"operator":"!=","term":{"type":"constant","name":"arr","start":8105,"end":8108,"appendix":[]}},{"type":"constant","name":"null","start":8112,"end":8116,"appendix":[]}],"type":"expression","start":8105,"end":8115}},"body":{"type":"block","code":[{"type":"for","in":true,"define":{"type":"define","name":"i","end":8135,"start":8127,"valueType":{"name":"int","reference":0,"start":8131,"end":8134,"template":false}},"iterate":{"terms":[{"type":"constant","name":"arr","start":8140,"end":8143,"appendix":[]}],"type":"expression","start":8139,"end":8142},"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"this.trackGroup","start":8152,"end":8178,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"arr","start":8168,"end":8174,"appendix":[{"type":"index","expression":{"terms":[{"type":"constant","name":"i","start":8172,"end":8173,"appendix":[]}],"type":"expression","start":8172,"end":8172}}]}],"type":"expression","start":8168,"end":8173},{"terms":[{"type":"literal","literalType":"number","value":1,"integer":true,"start":8176,"end":8177,"appendix":[]}],"type":"expression","start":8175,"end":8176}]}]}],"type":"expression","start":8152,"end":8178}],"start":8145,"end":8184},"mode":"in","start":8122,"end":8184}],"start":8122,"end":8184},"start":8091,"end":8188}],"start":8037,"end":8189},"start":8004,"end":8248}],"start":7999,"end":8252}},"output":{"name":"void","template":[]},"flags":["trust","override"],"templates":[],"start":7880,"doc":[],"end":8252},{"type":"method","name":"update","value":{"type":"method","parameters":[{"type":{"name":"Websom.Adapters.Database.Document","reference":0,"start":8285,"end":8318,"template":false},"doc":[],"name":"oldDoc","optional":[]},{"type":{"name":"Websom.Adapters.Database.Document","reference":0,"start":8327,"end":8360,"template":false},"doc":[],"name":"newDoc","optional":[]},{"type":{"name":"Websom.Adapters.Database.Collection","reference":0,"start":8369,"end":8404,"template":false},"doc":[],"name":"collection","optional":[]}],"body":{"type":"block","code":[{"type":"if","alternatives":[{"type":"else","body":{"type":"block","code":[{"type":"if","alternatives":[],"check":{"type":"group","expression":{"terms":[{"operator":"!=","term":{"type":"constant","name":"oldDoc.get","start":8961,"end":8987,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"this.fieldName","start":8972,"end":8986,"appendix":[]}],"type":"expression","start":8972,"end":8985}]}]}},{"type":"constant","name":"newDoc.get","start":8991,"end":9017,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"this.fieldName","start":9002,"end":9016,"appendix":[]}],"type":"expression","start":9002,"end":9015}]}]}],"type":"expression","start":8961,"end":9016}},"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"this.trackGroup","start":9026,"end":9073,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"oldDoc.get","start":9042,"end":9068,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"this.fieldName","start":9053,"end":9067,"appendix":[]}],"type":"expression","start":9053,"end":9066}]}]}],"type":"expression","start":9042,"end":9067},{"terms":[{"type":"literal","literalType":"number","value":1,"integer":true,"start":9070,"end":9072,"appendix":[],"prefix":"-"}],"type":"expression","start":9069,"end":9071}]}]}],"type":"expression","start":9026,"end":9073},{"terms":[{"type":"constant","name":"this.trackGroup","start":9080,"end":9126,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"newDoc.get","start":9096,"end":9122,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"this.fieldName","start":9107,"end":9121,"appendix":[]}],"type":"expression","start":9107,"end":9120}]}]}],"type":"expression","start":9096,"end":9121},{"terms":[{"type":"literal","literalType":"number","value":1,"integer":true,"start":9124,"end":9125,"appendix":[]}],"type":"expression","start":9123,"end":9124}]}]}],"type":"expression","start":9074,"end":9126}],"start":9019,"end":9132},"start":8957,"end":9136}],"start":8951,"end":9137}}],"check":{"type":"group","expression":{"terms":[{"operator":"==","term":{"type":"constant","name":"this.clusterType","start":8426,"end":8442,"appendix":[]}},{"type":"literal","literalType":"string","value":"array","start":8446,"end":8453,"appendix":[]}],"type":"expression","start":8426,"end":8452}},"body":{"type":"block","code":[{"type":"define","name":"oldArr","valueType":{"name":"array","reference":0,"start":8465,"end":8478,"template":[{"name":"string","reference":0,"start":8466,"end":8472,"template":false}]},"value":{"terms":[{"type":"constant","name":"oldDoc.get","start":8488,"end":8514,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"this.fieldName","start":8499,"end":8513,"appendix":[]}],"type":"expression","start":8499,"end":8512}]}]}],"type":"expression","start":8488,"end":8513},"start":8461,"end":8514},{"type":"define","name":"arr","valueType":{"name":"array","reference":0,"start":8524,"end":8537,"template":[{"name":"string","reference":0,"start":8525,"end":8531,"template":false}]},"value":{"terms":[{"type":"constant","name":"newDoc.get","start":8544,"end":8570,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"this.fieldName","start":8555,"end":8569,"appendix":[]}],"type":"expression","start":8555,"end":8568}]}]}],"type":"expression","start":8544,"end":8569},"start":8515,"end":8570},{"type":"for","in":true,"define":{"type":"define","name":"i","end":8594,"start":8586,"valueType":{"name":"int","reference":0,"start":8590,"end":8593,"template":false}},"iterate":{"terms":[{"type":"constant","name":"oldArr","start":8599,"end":8605,"appendix":[]}],"type":"expression","start":8598,"end":8604},"body":{"type":"block","code":[{"type":"define","name":"curKey","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"oldArr","start":8627,"end":8636,"appendix":[{"type":"index","expression":{"terms":[{"type":"constant","name":"i","start":8634,"end":8635,"appendix":[]}],"type":"expression","start":8634,"end":8634}}]}],"type":"expression","start":8627,"end":8635},"start":8614,"end":8636},{"type":"if","alternatives":[],"check":{"type":"group","expression":{"terms":[{"operator":"==","term":{"type":"constant","name":"arr.find","start":8649,"end":8701,"appendix":[{"type":"call","expression":[{"terms":[{"type":"function","output":{"name":"bool","reference":0,"start":8658,"end":8662,"template":false},"parameters":[{"type":{"name":"string","reference":0,"start":8664,"end":8670,"template":false},"doc":[],"name":"v","optional":[]}],"body":{"type":"block","code":[{"type":"return","expression":{"terms":[{"operator":"==","term":{"type":"constant","name":"curKey","start":8686,"end":8692,"appendix":[]}},{"type":"constant","name":"v","start":8696,"end":8697,"appendix":[]}],"type":"expression","start":8686,"end":8696},"start":8679,"end":8697}],"start":8677,"end":8699}}],"type":"expression","start":8658,"end":8699}]}]}},{"type":"constant","name":"null","start":8705,"end":8709,"appendix":[]}],"type":"expression","start":8649,"end":8708}},"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"this.trackGroup","start":8719,"end":8746,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"curKey","start":8735,"end":8741,"appendix":[]}],"type":"expression","start":8735,"end":8740},{"terms":[{"type":"literal","literalType":"number","value":1,"integer":true,"start":8743,"end":8745,"appendix":[],"prefix":"-"}],"type":"expression","start":8742,"end":8744}]}]}],"type":"expression","start":8719,"end":8746}],"start":8711,"end":8753},"start":8637,"end":8758}],"start":8607,"end":8759},"mode":"in","start":8571,"end":8759},{"type":"for","in":true,"define":{"type":"define","name":"i","end":8780,"start":8772,"valueType":{"name":"int","reference":0,"start":8776,"end":8779,"template":false}},"iterate":{"terms":[{"type":"constant","name":"arr","start":8785,"end":8788,"appendix":[]}],"type":"expression","start":8784,"end":8787},"body":{"type":"block","code":[{"type":"define","name":"curKey","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"arr","start":8810,"end":8816,"appendix":[{"type":"index","expression":{"terms":[{"type":"constant","name":"i","start":8814,"end":8815,"appendix":[]}],"type":"expression","start":8814,"end":8814}}]}],"type":"expression","start":8810,"end":8815},"start":8797,"end":8816},{"type":"if","alternatives":[],"check":{"type":"group","expression":{"terms":[{"operator":"==","term":{"type":"constant","name":"oldArr.find","start":8829,"end":8884,"appendix":[{"type":"call","expression":[{"terms":[{"type":"function","output":{"name":"bool","reference":0,"start":8841,"end":8845,"template":false},"parameters":[{"type":{"name":"string","reference":0,"start":8847,"end":8853,"template":false},"doc":[],"name":"v","optional":[]}],"body":{"type":"block","code":[{"type":"return","expression":{"terms":[{"operator":"==","term":{"type":"constant","name":"curKey","start":8869,"end":8875,"appendix":[]}},{"type":"constant","name":"v","start":8879,"end":8880,"appendix":[]}],"type":"expression","start":8869,"end":8879},"start":8862,"end":8880}],"start":8860,"end":8882}}],"type":"expression","start":8841,"end":8882}]}]}},{"type":"constant","name":"null","start":8888,"end":8892,"appendix":[]}],"type":"expression","start":8829,"end":8891}},"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"this.trackGroup","start":8902,"end":8928,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"curKey","start":8918,"end":8924,"appendix":[]}],"type":"expression","start":8918,"end":8923},{"terms":[{"type":"literal","literalType":"number","value":1,"integer":true,"start":8926,"end":8927,"appendix":[]}],"type":"expression","start":8925,"end":8926}]}]}],"type":"expression","start":8902,"end":8928}],"start":8894,"end":8935},"start":8817,"end":8940}],"start":8790,"end":8941},"mode":"in","start":8760,"end":8941}],"start":8455,"end":8946},"start":8422,"end":9137}],"start":8417,"end":9141}},"output":{"name":"void","template":[]},"flags":["trust","override"],"templates":[],"start":8253,"doc":[],"end":9141},{"type":"method","name":"delete","value":{"type":"method","parameters":[{"type":{"name":"Websom.Adapters.Database.Document","reference":0,"start":9174,"end":9207,"template":false},"doc":[],"name":"doc","optional":[]},{"type":{"name":"Websom.Adapters.Database.Collection","reference":0,"start":9213,"end":9248,"template":false},"doc":[],"name":"collection","optional":[]}],"body":{"type":"block","code":[{"type":"if","alternatives":[{"type":"else","body":{"type":"block","code":[{"terms":[{"type":"constant","name":"this.trackGroup","start":9442,"end":9486,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"doc.get","start":9458,"end":9481,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"this.fieldName","start":9466,"end":9480,"appendix":[]}],"type":"expression","start":9466,"end":9479}]}]}],"type":"expression","start":9458,"end":9480},{"terms":[{"type":"literal","literalType":"number","value":1,"integer":true,"start":9483,"end":9485,"appendix":[],"prefix":"-"}],"type":"expression","start":9482,"end":9484}]}]}],"type":"expression","start":9442,"end":9486}],"start":9436,"end":9491}}],"check":{"type":"group","expression":{"terms":[{"operator":"==","term":{"type":"constant","name":"this.clusterType","start":9270,"end":9286,"appendix":[]}},{"type":"literal","literalType":"string","value":"array","start":9290,"end":9297,"appendix":[]}],"type":"expression","start":9270,"end":9296}},"body":{"type":"block","code":[{"type":"define","name":"arr","valueType":{"name":"array","reference":0,"start":9309,"end":9322,"template":[{"name":"string","reference":0,"start":9310,"end":9316,"template":false}]},"value":{"terms":[{"type":"constant","name":"doc.get","start":9329,"end":9352,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"this.fieldName","start":9337,"end":9351,"appendix":[]}],"type":"expression","start":9337,"end":9350}]}]}],"type":"expression","start":9329,"end":9351},"start":9305,"end":9352},{"type":"for","in":true,"define":{"type":"define","name":"i","end":9376,"start":9368,"valueType":{"name":"int","reference":0,"start":9372,"end":9375,"template":false}},"iterate":{"terms":[{"type":"constant","name":"arr","start":9381,"end":9384,"appendix":[]}],"type":"expression","start":9380,"end":9383},"body":{"type":"block","code":[{"terms":[{"type":"constant","name":"this.trackGroup","start":9393,"end":9420,"appendix":[{"type":"call","expression":[{"terms":[{"type":"constant","name":"arr","start":9409,"end":9415,"appendix":[{"type":"index","expression":{"terms":[{"type":"constant","name":"i","start":9413,"end":9414,"appendix":[]}],"type":"expression","start":9413,"end":9413}}]}],"type":"expression","start":9409,"end":9414},{"terms":[{"type":"literal","literalType":"number","value":1,"integer":true,"start":9417,"end":9419,"appendix":[],"prefix":"-"}],"type":"expression","start":9416,"end":9418}]}]}],"type":"expression","start":9393,"end":9420}],"start":9386,"end":9426},"mode":"in","start":9353,"end":9426}],"start":9299,"end":9431},"start":9266,"end":9491}],"start":9261,"end":9495}},"output":{"name":"void","template":[]},"flags":["trust","override"],"templates":[],"start":9142,"doc":[],"end":9495},{"type":"method","name":"get","value":{"type":"method","parameters":[{"type":{"name":"Websom.Adapters.Database.Collection","reference":0,"start":9530,"end":9565,"template":false},"doc":[],"name":"collection","optional":[]}],"body":{"type":"block","code":[{"type":"return","expression":{"terms":[{"type":"constant","name":"null","start":9590,"end":9594,"appendix":[]}],"type":"expression","start":9590,"end":9593},"start":9583,"end":9594}],"start":9578,"end":9598}},"output":{"name":"primitive","template":[]},"flags":["trust","override"],"templates":[],"start":9496,"doc":[],"end":9598},{"type":"method","name":"getCountOfKey","value":{"type":"method","parameters":[{"type":{"name":"string","reference":0,"start":9622,"end":9628,"template":false},"doc":[],"name":"key","optional":[]}],"body":{"type":"block","code":[{"type":"define","name":"meta","valueType":"","auto":true,"value":{"terms":[{"type":"constant","name":"this.collection.meta","start":9650,"end":9690,"appendix":[{"type":"call","expression":[{"terms":[{"operator":"+","term":{"type":"literal","literalType":"string","value":"key_count_","start":9671,"end":9683,"appendix":[]}},{"type":"constant","name":"key","start":9686,"end":9689,"appendix":[]}],"type":"expression","start":9671,"end":9688}]}]}],"type":"expression","start":9650,"end":9689},"start":9639,"end":9690},{"type":"return","expression":{"terms":[{"type":"constant","name":"meta.numberField","start":9704,"end":9723,"appendix":[{"type":"call","expression":[{"terms":[{"type":"literal","literalType":"number","value":1,"integer":true,"start":9721,"end":9722,"appendix":[]}],"type":"expression","start":9721,"end":9721}]}]}],"type":"expression","start":9704,"end":9722},"start":9691,"end":9723}],"start":9634,"end":9727}},"output":{"name":"int","template":[]},"flags":[],"templates":[],"start":9599,"doc":[],"end":9727}],"inherits":{"types":[{"name":"Websom.Calculator","reference":0,"start":6906,"end":6923,"template":false}]},"templates":[],"start":6852,"end":9730}},{"type": "class", "base": "class", "flags": ["header"], "templates": [], "route": "Websom.Calculator", "name": "Calculator", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "collection",  "output": {"name": "Websom.Adapters.Database.Collection", "template": []}},{"type": "property", "binding": "bound", "name": "getterName",  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "insert",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "doc", "type": {"name": "Websom.Adapters.Database.Document", "template": []}},{"optional": "false", "name": "collection", "type": {"name": "Websom.Adapters.Database.Collection", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "delete",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "doc", "type": {"name": "Websom.Adapters.Database.Document", "template": []}},{"optional": "false", "name": "collection", "type": {"name": "Websom.Adapters.Database.Collection", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "update",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "oldDoc", "type": {"name": "Websom.Adapters.Database.Document", "template": []}},{"optional": "false", "name": "newDoc", "type": {"name": "Websom.Adapters.Database.Document", "template": []}},{"optional": "false", "name": "collection", "type": {"name": "Websom.Adapters.Database.Collection", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "get",  "output": {"name": "primitive", "template": []}, "arguments": [{"optional": "false", "name": "collection", "type": {"name": "Websom.Adapters.Database.Collection", "template": []}}], "isImplicitAsync": true, "isAsync": true}], "raw": {"type":"class","doc":[],"flags":["header"],"name":"Websom.Calculator","members":[{"type":"property","name":"collection","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":4783,"end":4787,"appendix":[]}],"type":"expression","start":4783,"end":4786}},"output":{"name":"Websom.Adapters.Database.Collection","template":[]},"flags":[],"templates":[],"start":4734,"doc":[],"end":4787},{"type":"property","name":"getterName","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":4811,"end":4813,"appendix":[]}],"type":"expression","start":4811,"end":4812}},"output":{"name":"string","template":[]},"flags":[],"templates":[],"start":4788,"doc":[],"end":4813},{"type":"method","name":"insert","value":{"type":"method","parameters":[{"type":{"name":"Websom.Adapters.Database.Document","reference":0,"start":4846,"end":4879,"template":false},"doc":[],"name":"doc","optional":[]},{"type":{"name":"Websom.Adapters.Database.Collection","reference":0,"start":4885,"end":4920,"template":false},"doc":[],"name":"collection","optional":[]}],"body":{"type":"block","code":[],"start":4933,"end":4939}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":4814,"attribute":[{"key":"ForceAsync","value":true}],"doc":[],"end":4939},{"type":"method","name":"delete","value":{"type":"method","parameters":[{"type":{"name":"Websom.Adapters.Database.Document","reference":0,"start":4972,"end":5005,"template":false},"doc":[],"name":"doc","optional":[]},{"type":{"name":"Websom.Adapters.Database.Collection","reference":0,"start":5011,"end":5046,"template":false},"doc":[],"name":"collection","optional":[]}],"body":{"type":"block","code":[],"start":5059,"end":5067}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":4940,"attribute":[{"key":"ForceAsync","value":true}],"doc":[],"end":5067},{"type":"method","name":"update","value":{"type":"method","parameters":[{"type":{"name":"Websom.Adapters.Database.Document","reference":0,"start":5100,"end":5133,"template":false},"doc":[],"name":"oldDoc","optional":[]},{"type":{"name":"Websom.Adapters.Database.Document","reference":0,"start":5142,"end":5175,"template":false},"doc":[],"name":"newDoc","optional":[]},{"type":{"name":"Websom.Adapters.Database.Collection","reference":0,"start":5184,"end":5219,"template":false},"doc":[],"name":"collection","optional":[]}],"body":{"type":"block","code":[],"start":5232,"end":5238}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":5068,"attribute":[{"key":"ForceAsync","value":true}],"doc":[],"end":5238},{"type":"method","name":"get","value":{"type":"method","parameters":[{"type":{"name":"Websom.Adapters.Database.Collection","reference":0,"start":5273,"end":5308,"template":false},"doc":[],"name":"collection","optional":[]}],"body":{"type":"block","code":[],"start":5321,"end":5329}},"output":{"name":"primitive","template":[]},"flags":[],"templates":[],"start":5239,"attribute":[{"key":"ForceAsync","value":true}],"doc":[],"end":5329}],"templates":[],"start":4695,"end":5332}},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.DeleteHandler", "name": "DeleteHandler", "inherits": ["Websom.SelectHandler","everything"], "members": [{"type": "method", "binding": "bound", "name": "fulfill", "flags": ["override"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "cir", "type": {"name": "Websom.CollectionInterfaceRoute", "template": []}},{"optional": "false", "name": "req", "type": {"name": "Websom.Request", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "buildQuery", "flags": ["override"],  "output": {"name": "Websom.Adapters.Database.SelectQuery", "template": []}, "arguments": [{"optional": "false", "name": "cir", "type": {"name": "Websom.CollectionInterfaceRoute", "template": []}},{"optional": "false", "name": "filter", "type": {"name": "Websom.CollectionInterfaceFilter", "template": []}},{"optional": "false", "name": "req", "type": {"name": "Websom.Request", "template": []}},{"optional": "false", "name": "query", "type": {"name": "Websom.Adapters.Database.SelectQuery", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "exposeDocuments",  "output": {"name": "array", "template": [{"name": "map", "template": [{"name": "primitive", "template": []}]}]}, "arguments": [{"optional": "false", "name": "cir", "type": {"name": "Websom.CollectionInterfaceRoute", "template": []}},{"optional": "false", "name": "req", "type": {"name": "Websom.Request", "template": []}},{"optional": "false", "name": "returnFields", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"optional": "false", "name": "docs", "type": {"name": "array", "template": [{"name": "Websom.Adapters.Database.Document", "template": []}]}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "executeQuery",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "cir", "type": {"name": "Websom.CollectionInterfaceRoute", "template": []}},{"optional": "false", "name": "filter", "type": {"name": "Websom.CollectionInterfaceFilter", "template": []}},{"optional": "false", "name": "req", "type": {"name": "Websom.Request", "template": []}},{"optional": "false", "name": "query", "type": {"name": "Websom.Adapters.Database.SelectQuery", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.EndpointHandler", "name": "EndpointHandler", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "fulfill",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "cir", "type": {"name": "Websom.CollectionInterfaceRoute", "template": []}},{"optional": "false", "name": "req", "type": {"name": "Websom.Request", "template": []}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.InsertHandler", "name": "InsertHandler", "inherits": ["Websom.EndpointHandler","everything"], "members": [{"type": "method", "binding": "bound", "name": "fulfill", "flags": ["override"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "cir", "type": {"name": "Websom.CollectionInterfaceRoute", "template": []}},{"optional": "false", "name": "req", "type": {"name": "Websom.Request", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "typeCheck",  "output": {"name": "bool", "template": []}, "arguments": [{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}},{"optional": "false", "name": "schemaField", "type": {"name": "Websom.Adapters.Database.Field", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.SearchHandler", "name": "SearchHandler", "inherits": ["Websom.SelectHandler","everything"], "members": [{"type": "method", "binding": "bound", "name": "fulfill", "flags": ["override"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "cir", "type": {"name": "Websom.CollectionInterfaceRoute", "template": []}},{"optional": "false", "name": "req", "type": {"name": "Websom.Request", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "buildQuery", "flags": ["override"],  "output": {"name": "Websom.Adapters.Database.SelectQuery", "template": []}, "arguments": [{"optional": "false", "name": "cir", "type": {"name": "Websom.CollectionInterfaceRoute", "template": []}},{"optional": "false", "name": "filter", "type": {"name": "Websom.CollectionInterfaceFilter", "template": []}},{"optional": "false", "name": "req", "type": {"name": "Websom.Request", "template": []}},{"optional": "false", "name": "query", "type": {"name": "Websom.Adapters.Database.SelectQuery", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "exposeDocuments",  "output": {"name": "array", "template": [{"name": "map", "template": [{"name": "primitive", "template": []}]}]}, "arguments": [{"optional": "false", "name": "cir", "type": {"name": "Websom.CollectionInterfaceRoute", "template": []}},{"optional": "false", "name": "req", "type": {"name": "Websom.Request", "template": []}},{"optional": "false", "name": "returnFields", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"optional": "false", "name": "docs", "type": {"name": "array", "template": [{"name": "Websom.Adapters.Database.Document", "template": []}]}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "executeQuery",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "cir", "type": {"name": "Websom.CollectionInterfaceRoute", "template": []}},{"optional": "false", "name": "filter", "type": {"name": "Websom.CollectionInterfaceFilter", "template": []}},{"optional": "false", "name": "req", "type": {"name": "Websom.Request", "template": []}},{"optional": "false", "name": "query", "type": {"name": "Websom.Adapters.Database.SelectQuery", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.SelectHandler", "name": "SelectHandler", "inherits": ["Websom.EndpointHandler","everything"], "members": [{"type": "method", "binding": "bound", "name": "fulfill", "flags": ["override"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "cir", "type": {"name": "Websom.CollectionInterfaceRoute", "template": []}},{"optional": "false", "name": "req", "type": {"name": "Websom.Request", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "buildQuery", "flags": ["override"],  "output": {"name": "Websom.Adapters.Database.SelectQuery", "template": []}, "arguments": [{"optional": "false", "name": "cir", "type": {"name": "Websom.CollectionInterfaceRoute", "template": []}},{"optional": "false", "name": "filter", "type": {"name": "Websom.CollectionInterfaceFilter", "template": []}},{"optional": "false", "name": "req", "type": {"name": "Websom.Request", "template": []}},{"optional": "false", "name": "query", "type": {"name": "Websom.Adapters.Database.SelectQuery", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "exposeDocuments",  "output": {"name": "array", "template": [{"name": "map", "template": [{"name": "primitive", "template": []}]}]}, "arguments": [{"optional": "false", "name": "cir", "type": {"name": "Websom.CollectionInterfaceRoute", "template": []}},{"optional": "false", "name": "req", "type": {"name": "Websom.Request", "template": []}},{"optional": "false", "name": "returnFields", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"optional": "false", "name": "docs", "type": {"name": "array", "template": [{"name": "Websom.Adapters.Database.Document", "template": []}]}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "executeQuery",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "cir", "type": {"name": "Websom.CollectionInterfaceRoute", "template": []}},{"optional": "false", "name": "filter", "type": {"name": "Websom.CollectionInterfaceFilter", "template": []}},{"optional": "false", "name": "req", "type": {"name": "Websom.Request", "template": []}},{"optional": "false", "name": "query", "type": {"name": "Websom.Adapters.Database.SelectQuery", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "namespace", "flags": [], "templates": [], "route": "Websom.Standard", "name": "Standard", "inherits": ["everything"], "members": []},{"type": "class", "base": "namespace", "flags": [], "templates": [], "route": "Websom.Standard.UserSystem", "name": "UserSystem", "inherits": ["everything"], "members": []},{"type": "class", "base": "relative", "flags": ["header"], "templates": [], "route": "Websom.Standard.UserSystem.Module", "name": "Module", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "users",  "output": {"name": "Websom.Adapters.Database.Collection", "template": []}},{"type": "property", "binding": "bound", "name": "logins",  "output": {"name": "Websom.Adapters.Database.Collection", "template": []}},{"type": "method", "binding": "bound", "name": "getUserFromRequest",  "output": {"name": "Websom.Standard.UserSystem.User", "template": []}, "arguments": [{"optional": "false", "name": "req", "type": {"name": "Websom.Request", "template": []}}], "isImplicitAsync": true, "isAsync": true}], "raw": {"type":"relative","doc":[],"flags":["header"],"name":"Websom.Standard.UserSystem.Module","members":[{"type":"property","name":"users","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":141,"end":145,"appendix":[]}],"type":"expression","start":141,"end":144}},"output":{"name":"Websom.Adapters.Database.Collection","template":[]},"flags":[],"templates":[],"start":97,"doc":[],"end":145},{"type":"property","name":"logins","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":194,"end":198,"appendix":[]}],"type":"expression","start":194,"end":197}},"output":{"name":"Websom.Adapters.Database.Collection","template":[]},"flags":[],"templates":[],"start":146,"doc":[],"end":198},{"type":"method","name":"getUserFromRequest","value":{"type":"method","parameters":[{"type":{"name":"Websom.Request","reference":0,"start":270,"end":284,"template":false},"doc":[],"name":"req","optional":[]}],"body":{"type":"block","code":[],"start":290,"end":291}},"output":{"name":"Websom.Standard.UserSystem.User","template":[]},"flags":[],"templates":[],"start":199,"attribute":[{"key":"ForceAsync","value":true}],"doc":[],"end":291}],"templates":[],"start":39,"end":294}},{"type": "class", "base": "relative", "flags": ["header","header"], "templates": [], "route": "Websom.Standard.UserSystem.User", "name": "User", "inherits": ["Websom.Entity","everything"], "members": [{"type": "property", "binding": "bound", "name": "username", "flags": ["field"],  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "email", "flags": ["field"],  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "password", "flags": ["field"],  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "firstName", "flags": ["field"],  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "lastName", "flags": ["field"],  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "department", "flags": ["field"],  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "company", "flags": ["field"],  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "address", "flags": ["field"],  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "city", "flags": ["field"],  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "state", "flags": ["field"],  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "country", "flags": ["field"],  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "postCode", "flags": ["field"],  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "bio", "flags": ["field"],  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "nickname", "flags": ["field"],  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "social", "flags": ["field"],  "output": {"name": "array", "template": [{"name": "array", "template": [{"name": "string", "template": []}]}]}},{"type": "property", "binding": "bound", "name": "role", "flags": ["field"],  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "created", "flags": ["field"],  "output": {"name": "Websom.Time", "template": []}},{"type": "property", "binding": "bound", "name": "lastLogin", "flags": ["field"],  "output": {"name": "Websom.Time", "template": []}},{"type": "property", "binding": "bound", "name": "lastBan", "flags": ["field"],  "output": {"name": "Websom.Time", "template": []}},{"type": "property", "binding": "bound", "name": "banned", "flags": ["field"],  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "verified", "flags": ["field"],  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "connected", "flags": ["field"],  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "connectedAdapter", "flags": ["field"],  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "locked", "flags": ["field"],  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "groups", "flags": ["field"],  "output": {"name": "array", "template": [{"name": "Websom.Group", "template": []}]}},{"type": "property", "binding": "bound", "name": "loginAttempts",  "output": {"name": "array", "template": [{"name": "Websom.Standard.UserSystem.Login", "template": []}]}},{"type": "property", "binding": "bound", "name": "connections",  "output": {"name": "array", "template": [{"name": "Websom.Standard.UserSystem.Connection", "template": []}]}},{"type": "property", "binding": "bound", "name": "rawFields",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "collection",  "output": {"name": "Websom.Adapters.Database.Collection", "template": []}},{"type": "property", "binding": "bound", "name": "id",  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "load", "flags": ["override"],  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "loadEntityArray", "flags": ["override"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "arr", "type": {"name": "array", "template": [{"name": "Websom.Entity", "template": []}]}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "fixed", "name": "applySchema", "flags": ["trust", "override"],  "output": {"name": "Websom.Adapters.Database.Schema", "template": []}, "arguments": [{"optional": "false", "name": "collection", "type": {"name": "Websom.Adapters.Database.Collection", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "fixed", "name": "linkToCollection", "flags": ["trust", "override"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "collection", "type": {"name": "Websom.Adapters.Database.Collection", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "getFieldValue",  "output": {"name": "primitive", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "getFieldsChanged",  "output": {"name": "array", "template": [{"name": "Websom.Adapters.Database.Field", "template": []}]}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "saveToCollection",  "output": {"name": "Websom.Adapters.Database.UpdateQueryResult", "template": []}, "arguments": [], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "insertIntoCollection",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "loadFromMap", "flags": ["override"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "data", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}}], "isImplicitAsync": true, "isAsync": true}], "raw": {"type":"relative","doc":[],"flags":["header","header"],"name":"Websom.Standard.UserSystem.User","members":[{"type":"property","name":"username","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":397,"end":399,"appendix":[]}],"type":"expression","start":397,"end":398}},"output":{"name":"string","template":[]},"flags":["field"],"templates":[],"start":373,"doc":[],"end":399},{"type":"property","name":"email","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":424,"end":426,"appendix":[]}],"type":"expression","start":424,"end":425}},"output":{"name":"string","template":[]},"flags":["field"],"templates":[],"start":400,"doc":[],"end":426},{"type":"property","name":"password","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":454,"end":456,"appendix":[]}],"type":"expression","start":454,"end":455}},"output":{"name":"string","template":[]},"flags":["field"],"templates":[],"start":427,"doc":[],"end":456},{"type":"property","name":"firstName","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":487,"end":489,"appendix":[]}],"type":"expression","start":487,"end":488}},"output":{"name":"string","template":[]},"flags":["field"],"templates":[],"start":457,"doc":[],"end":489},{"type":"property","name":"lastName","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":517,"end":519,"appendix":[]}],"type":"expression","start":517,"end":518}},"output":{"name":"string","template":[]},"flags":["field"],"templates":[],"start":490,"doc":[],"end":519},{"type":"property","name":"department","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":549,"end":551,"appendix":[]}],"type":"expression","start":549,"end":550}},"output":{"name":"string","template":[]},"flags":["field"],"templates":[],"start":520,"doc":[],"end":551},{"type":"property","name":"company","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":578,"end":580,"appendix":[]}],"type":"expression","start":578,"end":579}},"output":{"name":"string","template":[]},"flags":["field"],"templates":[],"start":552,"doc":[],"end":580},{"type":"property","name":"address","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":607,"end":609,"appendix":[]}],"type":"expression","start":607,"end":608}},"output":{"name":"string","template":[]},"flags":["field"],"templates":[],"start":581,"doc":[],"end":609},{"type":"property","name":"city","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":633,"end":635,"appendix":[]}],"type":"expression","start":633,"end":634}},"output":{"name":"string","template":[]},"flags":["field"],"templates":[],"start":610,"doc":[],"end":635},{"type":"property","name":"state","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":660,"end":662,"appendix":[]}],"type":"expression","start":660,"end":661}},"output":{"name":"string","template":[]},"flags":["field"],"templates":[],"start":636,"doc":[],"end":662},{"type":"property","name":"country","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":689,"end":691,"appendix":[]}],"type":"expression","start":689,"end":690}},"output":{"name":"string","template":[]},"flags":["field"],"templates":[],"start":663,"doc":[],"end":691},{"type":"property","name":"postCode","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":719,"end":721,"appendix":[]}],"type":"expression","start":719,"end":720}},"output":{"name":"string","template":[]},"flags":["field"],"templates":[],"start":692,"doc":[],"end":721},{"type":"property","name":"bio","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":746,"end":748,"appendix":[]}],"type":"expression","start":746,"end":747}},"output":{"name":"string","template":[]},"flags":["field"],"templates":[],"start":722,"doc":[],"end":748},{"type":"property","name":"nickname","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":776,"end":778,"appendix":[]}],"type":"expression","start":776,"end":777}},"output":{"name":"string","template":[]},"flags":["field"],"templates":[],"start":749,"doc":[],"end":778},{"type":"property","name":"social","value":{"type":"property","value":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"array","start":824,"end":846,"appendix":[{"type":"call","expression":[]}],"template":[{"name":"array","reference":0,"start":825,"end":838,"template":[{"name":"string","reference":0,"start":826,"end":832,"template":false}]}]}],"type":"expression","start":824,"end":845},"start":820,"end":846,"appendix":[]}],"type":"expression","start":820,"end":845}},"flags":["field"],"output":{"name":"array","reference":0,"start":790,"end":810,"template":[{"name":"array","reference":0,"start":791,"end":804,"template":[{"name":"string","reference":0,"start":792,"end":798,"template":false}]}]},"templates":[],"start":779,"doc":[],"end":846},{"type":"property","name":"role","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":901,"end":903,"appendix":[]}],"type":"expression","start":901,"end":902}},"output":{"name":"string","template":[]},"flags":["field"],"templates":[],"start":847,"doc":["admin, author, moderator"],"end":903},{"type":"property","name":"created","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":937,"end":941,"appendix":[]}],"type":"expression","start":937,"end":940}},"output":{"name":"Websom.Time","template":[]},"flags":["field"],"templates":[],"start":904,"doc":[],"end":941},{"type":"property","name":"lastLogin","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":975,"end":979,"appendix":[]}],"type":"expression","start":975,"end":978}},"output":{"name":"Websom.Time","template":[]},"flags":["field"],"templates":[],"start":942,"doc":[],"end":979},{"type":"property","name":"lastBan","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":1011,"end":1015,"appendix":[]}],"type":"expression","start":1011,"end":1014}},"output":{"name":"Websom.Time","template":[]},"flags":["field"],"templates":[],"start":980,"doc":[],"end":1015},{"type":"property","name":"banned","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"boolean","value":false,"start":1041,"end":1046,"appendix":[]}],"type":"expression","start":1041,"end":1045}},"output":{"name":"bool","template":[]},"flags":["field"],"templates":[],"start":1016,"doc":[],"end":1046},{"type":"property","name":"verified","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"boolean","value":false,"start":1072,"end":1077,"appendix":[]}],"type":"expression","start":1072,"end":1076}},"output":{"name":"bool","template":[]},"flags":["field"],"templates":[],"start":1047,"doc":[],"end":1077},{"type":"property","name":"connected","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"boolean","value":false,"start":1207,"end":1212,"appendix":[]}],"type":"expression","start":1207,"end":1211}},"output":{"name":"bool","template":[]},"flags":["field"],"templates":[],"start":1078,"doc":["Is this account's authentication passed onto an external OAuth system. e.g. Google, Facebook ..."],"end":1212},{"type":"property","name":"connectedAdapter","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":1250,"end":1252,"appendix":[]}],"type":"expression","start":1250,"end":1251}},"output":{"name":"string","template":[]},"flags":["field"],"templates":[],"start":1213,"doc":[],"end":1252},{"type":"property","name":"locked","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"boolean","value":false,"start":1315,"end":1320,"appendix":[]}],"type":"expression","start":1315,"end":1319}},"output":{"name":"bool","template":[]},"flags":["field"],"templates":[],"start":1253,"doc":["If locked, login is not allowed."],"end":1320},{"type":"property","name":"groups","value":{"type":"property","value":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"array","start":1365,"end":1380,"appendix":[{"type":"call","expression":[]}],"template":[{"name":"string","reference":0,"start":1366,"end":1372,"template":false}]}],"type":"expression","start":1365,"end":1379},"start":1361,"end":1380,"appendix":[]}],"type":"expression","start":1361,"end":1379}},"flags":["field"],"output":{"name":"array","reference":0,"start":1332,"end":1351,"template":[{"name":"Websom.Group","reference":0,"start":1333,"end":1345,"template":false}]},"templates":[],"start":1321,"doc":[],"end":1380},{"type":"property","attribute":[{"key":"Collection","value":true}],"doc":[],"output":{"name":"array","reference":0,"start":1401,"end":1440,"template":[{"name":"Websom.Standard.UserSystem.Login","reference":0,"start":1402,"end":1434,"template":false}]},"name":"loginAttempts","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":1457,"end":1461,"appendix":[]}],"type":"expression","start":1457,"end":1460}},"flags":[],"templates":[],"start":1381,"end":1461},{"type":"property","attribute":[{"key":"Collection","value":true}],"doc":[],"output":{"name":"array","reference":0,"start":1482,"end":1526,"template":[{"name":"Websom.Standard.UserSystem.Connection","reference":0,"start":1483,"end":1520,"template":false}]},"name":"connections","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":1541,"end":1545,"appendix":[]}],"type":"expression","start":1541,"end":1544}},"flags":[],"templates":[],"start":1462,"end":1545}],"inherits":{"types":[{"name":"Websom.Entity","reference":0,"start":355,"end":368,"template":false}]},"templates":[],"start":295,"end":1551}},{"type": "class", "base": "relative", "flags": ["header"], "templates": [], "route": "Websom.Standard.UserSystem.Login", "name": "Login", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "user", "flags": ["field"],  "output": {"name": "Websom.Standard.UserSystem.User", "template": []}},{"type": "property", "binding": "bound", "name": "created", "flags": ["field"],  "output": {"name": "Websom.Time", "template": []}},{"type": "property", "binding": "bound", "name": "ip", "flags": ["field"],  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "location", "flags": ["field"],  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "success", "flags": ["field"],  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "flagged", "flags": ["field"],  "output": {"name": "bool", "template": []}}], "raw": {"type":"relative","doc":[],"flags":["header"],"name":"Websom.Standard.UserSystem.Login","members":[{"type":"property","name":"user","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":1654,"end":1658,"appendix":[]}],"type":"expression","start":1654,"end":1657}},"output":{"name":"Websom.Standard.UserSystem.User","template":[]},"flags":["field"],"templates":[],"start":1609,"doc":[],"end":1658},{"type":"property","name":"created","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":1690,"end":1694,"appendix":[]}],"type":"expression","start":1690,"end":1693}},"output":{"name":"Websom.Time","template":[]},"flags":["field"],"templates":[],"start":1659,"doc":[],"end":1694},{"type":"property","name":"ip","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":1716,"end":1718,"appendix":[]}],"type":"expression","start":1716,"end":1717}},"output":{"name":"string","template":[]},"flags":["field"],"templates":[],"start":1695,"doc":[],"end":1718},{"type":"property","name":"location","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":1811,"end":1813,"appendix":[]}],"type":"expression","start":1811,"end":1812}},"output":{"name":"string","template":[]},"flags":["field"],"templates":[],"start":1719,"doc":["Usually left blank if no ip tracking service is installed."],"end":1813},{"type":"property","name":"success","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"boolean","value":false,"start":1864,"end":1869,"appendix":[]}],"type":"expression","start":1864,"end":1868}},"output":{"name":"bool","template":[]},"flags":["field"],"templates":[],"start":1814,"doc":["Did the user login."],"end":1869},{"type":"property","name":"flagged","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"boolean","value":false,"start":2042,"end":2047,"appendix":[]}],"type":"expression","start":2042,"end":2046}},"output":{"name":"bool","template":[]},"flags":["field"],"templates":[],"start":1870,"doc":["Is this login attempt or password suspicious. You should keep a calculated counting field grouped on user for mitigating brute force attacks."],"end":2047}],"templates":[],"start":1552,"end":2050}},{"type": "class", "base": "relative", "flags": ["header"], "templates": [], "route": "Websom.Standard.UserSystem.Connection", "name": "Connection", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "service", "flags": ["field"],  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "authorizationCode", "flags": ["field"],  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "active", "flags": ["field"],  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "created", "flags": ["field"],  "output": {"name": "Websom.Time", "template": []}},{"type": "property", "binding": "bound", "name": "disabled", "flags": ["field"],  "output": {"name": "Websom.Time", "template": []}}], "raw": {"type":"relative","doc":[],"flags":["header"],"name":"Websom.Standard.UserSystem.Connection","members":[{"type":"property","name":"service","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":2204,"end":2206,"appendix":[]}],"type":"expression","start":2204,"end":2205}},"output":{"name":"string","template":[]},"flags":["field"],"templates":[],"start":2113,"doc":["kebab-case service name. e.g. google, facebook. All lower case."],"end":2206},{"type":"property","name":"authorizationCode","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":2243,"end":2245,"appendix":[]}],"type":"expression","start":2243,"end":2244}},"output":{"name":"string","template":[]},"flags":["field"],"templates":[],"start":2207,"doc":[],"end":2245},{"type":"property","name":"active","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"boolean","value":false,"start":2269,"end":2274,"appendix":[]}],"type":"expression","start":2269,"end":2273}},"output":{"name":"bool","template":[]},"flags":["field"],"templates":[],"start":2246,"doc":[],"end":2274},{"type":"property","name":"created","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":2306,"end":2310,"appendix":[]}],"type":"expression","start":2306,"end":2309}},"output":{"name":"Websom.Time","template":[]},"flags":["field"],"templates":[],"start":2275,"doc":[],"end":2310},{"type":"property","name":"disabled","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":2343,"end":2347,"appendix":[]}],"type":"expression","start":2343,"end":2346}},"output":{"name":"Websom.Time","template":[]},"flags":["field"],"templates":[],"start":2311,"doc":[],"end":2347}],"templates":[],"start":2051,"end":2350}},{"type": "class", "base": "namespace", "flags": [], "templates": [], "route": "Websom.Standard.CommerceSystem", "name": "CommerceSystem", "inherits": ["everything"], "members": []},{"type": "class", "base": "relative", "flags": ["header"], "templates": [], "route": "Websom.Standard.CommerceSystem.Module", "name": "Module", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "orders",  "output": {"name": "Websom.Adapters.Database.Collection", "template": []}},{"type": "property", "binding": "bound", "name": "products",  "output": {"name": "Websom.Adapters.Database.Collection", "template": []}},{"type": "property", "binding": "bound", "name": "carts",  "output": {"name": "Websom.Adapters.Database.Collection", "template": []}},{"type": "property", "binding": "bound", "name": "zones",  "output": {"name": "Websom.Adapters.Database.Collection", "template": []}},{"type": "method", "binding": "bound", "name": "getCart",  "output": {"name": "Websom.Standard.CommerceSystem.Cart", "template": []}, "arguments": [{"optional": "false", "name": "user", "type": {"name": "Websom.Standard.UserSystem.User", "template": []}}], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "addToCart",  "output": {"name": "bool", "template": []}, "arguments": [{"optional": "false", "name": "user", "type": {"name": "Websom.Standard.UserSystem.User", "template": []}},{"optional": "false", "name": "item", "type": {"name": "Websom.Standard.CommerceSystem.OrderItem", "template": []}}], "isImplicitAsync": true, "isAsync": true}], "raw": {"type":"relative","doc":[],"flags":["header"],"name":"Websom.Standard.CommerceSystem.Module","members":[{"type":"property","name":"orders","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":150,"end":154,"appendix":[]}],"type":"expression","start":150,"end":153}},"output":{"name":"Websom.Adapters.Database.Collection","template":[]},"flags":[],"templates":[],"start":105,"doc":[],"end":154},{"type":"property","name":"products","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":205,"end":209,"appendix":[]}],"type":"expression","start":205,"end":208}},"output":{"name":"Websom.Adapters.Database.Collection","template":[]},"flags":[],"templates":[],"start":155,"doc":[],"end":209},{"type":"property","name":"carts","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":257,"end":261,"appendix":[]}],"type":"expression","start":257,"end":260}},"output":{"name":"Websom.Adapters.Database.Collection","template":[]},"flags":[],"templates":[],"start":210,"doc":[],"end":261},{"type":"property","name":"zones","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":309,"end":313,"appendix":[]}],"type":"expression","start":309,"end":312}},"output":{"name":"Websom.Adapters.Database.Collection","template":[]},"flags":[],"templates":[],"start":262,"doc":[],"end":313},{"type":"method","name":"getCart","value":{"type":"method","parameters":[{"type":{"name":"Websom.Standard.UserSystem.User","reference":0,"start":378,"end":409,"template":false},"doc":[],"name":"user","optional":[]}],"body":{"type":"block","code":[],"start":416,"end":417}},"output":{"name":"Websom.Standard.CommerceSystem.Cart","template":[]},"flags":[],"templates":[],"start":314,"attribute":[{"key":"ForceAsync","value":true}],"doc":[],"end":417},{"type":"method","name":"addToCart","value":{"type":"method","parameters":[{"type":{"name":"Websom.Standard.UserSystem.User","reference":0,"start":453,"end":484,"template":false},"doc":[],"name":"user","optional":[]},{"type":{"name":"Websom.Standard.CommerceSystem.OrderItem","reference":0,"start":491,"end":531,"template":false},"doc":[],"name":"item","optional":[]}],"body":{"type":"block","code":[],"start":538,"end":539}},"output":{"name":"bool","template":[]},"flags":[],"templates":[],"start":418,"attribute":[{"key":"ForceAsync","value":true}],"doc":[],"end":539}],"templates":[],"start":43,"end":542}},{"type": "class", "base": "relative", "flags": ["header"], "templates": [], "route": "Websom.Standard.CommerceSystem.Order", "name": "Order", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "user", "flags": ["field"],  "output": {"name": "Websom.Standard.UserSystem.User", "template": []}},{"type": "property", "binding": "bound", "name": "firstName", "flags": ["field"],  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "lastName", "flags": ["field"],  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "department", "flags": ["field"],  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "company", "flags": ["field"],  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "addressLine1", "flags": ["field"],  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "addressLine2", "flags": ["field"],  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "city", "flags": ["field"],  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "state", "flags": ["field"],  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "country", "flags": ["field"],  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "postCode", "flags": ["field"],  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "created", "flags": ["field"],  "output": {"name": "Websom.Time", "template": []}},{"type": "property", "binding": "bound", "name": "denied", "flags": ["field"],  "output": {"name": "Websom.Time", "template": []}},{"type": "property", "binding": "bound", "name": "shipped", "flags": ["field"],  "output": {"name": "Websom.Time", "template": []}},{"type": "property", "binding": "bound", "name": "completed", "flags": ["field"],  "output": {"name": "Websom.Time", "template": []}},{"type": "property", "binding": "bound", "name": "ip", "flags": ["field"],  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "total", "flags": ["field"],  "output": {"name": "float", "template": []}},{"type": "property", "binding": "bound", "name": "subTotal", "flags": ["field"],  "output": {"name": "float", "template": []}},{"type": "property", "binding": "bound", "name": "tax", "flags": ["field"],  "output": {"name": "float", "template": []}},{"type": "property", "binding": "bound", "name": "shipping", "flags": ["field"],  "output": {"name": "float", "template": []}},{"type": "property", "binding": "bound", "name": "discount", "flags": ["field"],  "output": {"name": "float", "template": []}},{"type": "property", "binding": "bound", "name": "items", "flags": ["field"],  "output": {"name": "array", "template": [{"name": "Websom.Standard.CommerceSystem.OrderItem", "template": []}]}}], "raw": {"type":"relative","doc":[],"flags":["header"],"name":"Websom.Standard.CommerceSystem.Order","members":[{"type":"property","name":"user","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":649,"end":653,"appendix":[]}],"type":"expression","start":649,"end":652}},"output":{"name":"Websom.Standard.UserSystem.User","template":[]},"flags":["field"],"templates":[],"start":604,"doc":[],"end":653},{"type":"property","name":"firstName","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":684,"end":686,"appendix":[]}],"type":"expression","start":684,"end":685}},"output":{"name":"string","template":[]},"flags":["field"],"templates":[],"start":654,"doc":[],"end":686},{"type":"property","name":"lastName","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":714,"end":716,"appendix":[]}],"type":"expression","start":714,"end":715}},"output":{"name":"string","template":[]},"flags":["field"],"templates":[],"start":687,"doc":[],"end":716},{"type":"property","name":"department","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":746,"end":748,"appendix":[]}],"type":"expression","start":746,"end":747}},"output":{"name":"string","template":[]},"flags":["field"],"templates":[],"start":717,"doc":[],"end":748},{"type":"property","name":"company","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":775,"end":777,"appendix":[]}],"type":"expression","start":775,"end":776}},"output":{"name":"string","template":[]},"flags":["field"],"templates":[],"start":749,"doc":[],"end":777},{"type":"property","name":"addressLine1","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":809,"end":811,"appendix":[]}],"type":"expression","start":809,"end":810}},"output":{"name":"string","template":[]},"flags":["field"],"templates":[],"start":778,"doc":[],"end":811},{"type":"property","name":"addressLine2","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":843,"end":845,"appendix":[]}],"type":"expression","start":843,"end":844}},"output":{"name":"string","template":[]},"flags":["field"],"templates":[],"start":812,"doc":[],"end":845},{"type":"property","name":"city","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":869,"end":871,"appendix":[]}],"type":"expression","start":869,"end":870}},"output":{"name":"string","template":[]},"flags":["field"],"templates":[],"start":846,"doc":[],"end":871},{"type":"property","name":"state","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":896,"end":898,"appendix":[]}],"type":"expression","start":896,"end":897}},"output":{"name":"string","template":[]},"flags":["field"],"templates":[],"start":872,"doc":[],"end":898},{"type":"property","name":"country","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":925,"end":927,"appendix":[]}],"type":"expression","start":925,"end":926}},"output":{"name":"string","template":[]},"flags":["field"],"templates":[],"start":899,"doc":[],"end":927},{"type":"property","name":"postCode","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":955,"end":957,"appendix":[]}],"type":"expression","start":955,"end":956}},"output":{"name":"string","template":[]},"flags":["field"],"templates":[],"start":928,"doc":[],"end":957},{"type":"property","name":"created","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":991,"end":995,"appendix":[]}],"type":"expression","start":991,"end":994}},"output":{"name":"Websom.Time","template":[]},"flags":["field"],"templates":[],"start":958,"doc":[],"end":995},{"type":"property","name":"denied","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":1026,"end":1030,"appendix":[]}],"type":"expression","start":1026,"end":1029}},"output":{"name":"Websom.Time","template":[]},"flags":["field"],"templates":[],"start":996,"doc":[],"end":1030},{"type":"property","name":"shipped","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":1062,"end":1066,"appendix":[]}],"type":"expression","start":1062,"end":1065}},"output":{"name":"Websom.Time","template":[]},"flags":["field"],"templates":[],"start":1031,"doc":[],"end":1066},{"type":"property","name":"completed","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":1100,"end":1104,"appendix":[]}],"type":"expression","start":1100,"end":1103}},"output":{"name":"Websom.Time","template":[]},"flags":["field"],"templates":[],"start":1067,"doc":[],"end":1104},{"type":"property","name":"ip","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":1128,"end":1130,"appendix":[]}],"type":"expression","start":1128,"end":1129}},"output":{"name":"string","template":[]},"flags":["field"],"templates":[],"start":1105,"doc":[],"end":1130},{"type":"property","name":"total","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"number","value":0,"integer":true,"start":1156,"end":1157,"appendix":[]}],"type":"expression","start":1156,"end":1156}},"output":{"name":"float","template":[]},"flags":["field"],"templates":[],"start":1131,"doc":[],"end":1157},{"type":"property","name":"subTotal","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"number","value":0,"integer":true,"start":1184,"end":1185,"appendix":[]}],"type":"expression","start":1184,"end":1184}},"output":{"name":"float","template":[]},"flags":["field"],"templates":[],"start":1158,"doc":[],"end":1185},{"type":"property","name":"tax","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"number","value":0,"integer":true,"start":1207,"end":1208,"appendix":[]}],"type":"expression","start":1207,"end":1207}},"output":{"name":"float","template":[]},"flags":["field"],"templates":[],"start":1186,"doc":[],"end":1208},{"type":"property","name":"shipping","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"number","value":0,"integer":true,"start":1235,"end":1236,"appendix":[]}],"type":"expression","start":1235,"end":1235}},"output":{"name":"float","template":[]},"flags":["field"],"templates":[],"start":1209,"doc":[],"end":1236},{"type":"property","name":"discount","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"number","value":0,"integer":true,"start":1263,"end":1264,"appendix":[]}],"type":"expression","start":1263,"end":1263}},"output":{"name":"float","template":[]},"flags":["field"],"templates":[],"start":1237,"doc":[],"end":1264},{"type":"property","name":"items","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":1333,"end":1337,"appendix":[]}],"type":"expression","start":1333,"end":1336}},"flags":["field"],"output":{"name":"array","reference":0,"start":1277,"end":1324,"template":[{"name":"Websom.Standard.CommerceSystem.OrderItem","reference":0,"start":1278,"end":1318,"template":false}]},"templates":[],"start":1265,"doc":[],"end":1337}],"templates":[],"start":543,"end":1340}},{"type": "class", "base": "class", "flags": ["header","header"], "templates": [], "route": "Websom.Standard.CommerceSystem.OrderItem", "name": "OrderItem", "inherits": ["Websom.Serializable","everything"], "members": [{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "property", "binding": "bound", "name": "product", "flags": ["field"],  "output": {"name": "Websom.Standard.CommerceSystem.Product", "template": []}},{"type": "property", "binding": "bound", "name": "quantity", "flags": ["field"],  "output": {"name": "int", "template": []}},{"type": "property", "binding": "bound", "name": "total", "flags": ["field"],  "output": {"name": "float", "template": []}},{"type": "property", "binding": "bound", "name": "instructions", "flags": ["field"],  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "variation", "flags": ["field"],  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "getFieldValue",  "output": {"name": "primitive", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "getSimpleSchema",  "output": {"name": "Websom.Adapters.Database.Schema", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "saveToMap",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}, "arguments": [], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "loadFromMap", "flags": ["override"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "data", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}}], "isImplicitAsync": true, "isAsync": true}], "raw": {"type":"class","doc":[],"flags":["header","header"],"name":"Websom.Standard.CommerceSystem.OrderItem","members":[{"type":"method","name":"@construct","value":{"type":"method","parameters":[],"body":{"type":"block","code":[],"start":1449,"end":1450}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":1431,"doc":[],"end":1450},{"type":"property","name":"product","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":1511,"end":1515,"appendix":[]}],"type":"expression","start":1511,"end":1514}},"output":{"name":"Websom.Standard.CommerceSystem.Product","template":[]},"flags":["field"],"templates":[],"start":1451,"doc":[],"end":1515},{"type":"property","name":"quantity","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"number","value":0,"integer":true,"start":1540,"end":1541,"appendix":[]}],"type":"expression","start":1540,"end":1540}},"output":{"name":"int","template":[]},"flags":["field"],"templates":[],"start":1516,"doc":[],"end":1541},{"type":"property","name":"total","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"number","value":0,"integer":true,"start":1565,"end":1566,"appendix":[]}],"type":"expression","start":1565,"end":1565}},"output":{"name":"float","template":[]},"flags":["field"],"templates":[],"start":1542,"doc":[],"end":1566},{"type":"property","name":"instructions","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":1598,"end":1600,"appendix":[]}],"type":"expression","start":1598,"end":1599}},"output":{"name":"string","template":[]},"flags":["field"],"templates":[],"start":1567,"doc":[],"end":1600},{"type":"property","name":"variation","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":1629,"end":1633,"appendix":[]}],"type":"expression","start":1629,"end":1632}},"output":{"name":"map","template":[]},"flags":["field"],"templates":[],"start":1601,"doc":[],"end":1633}],"inherits":{"types":[{"name":"Websom.Serializable","reference":0,"start":1407,"end":1426,"template":false}]},"templates":[],"start":1341,"end":1636}},{"type": "class", "base": "relative", "flags": ["header"], "templates": [], "route": "Websom.Standard.CommerceSystem.Product", "name": "Product", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "name", "flags": ["field"],  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "description", "flags": ["field"],  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "sku", "flags": ["field"],  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "upc", "flags": ["field"],  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "stock", "flags": ["field"],  "output": {"name": "int", "template": []}},{"type": "property", "binding": "bound", "name": "stock", "flags": ["field"],  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "regularPrice", "flags": ["field"],  "output": {"name": "float", "template": []}},{"type": "property", "binding": "bound", "name": "salePrice", "flags": ["field"],  "output": {"name": "float", "template": []}},{"type": "property", "binding": "bound", "name": "noDiscounts", "flags": ["field"],  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "status", "flags": ["field"],  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "limit", "flags": ["field"],  "output": {"name": "int", "template": []}},{"type": "property", "binding": "bound", "name": "type", "flags": ["field"],  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "weight", "flags": ["field"],  "output": {"name": "float", "template": []}},{"type": "property", "binding": "bound", "name": "length", "flags": ["field"],  "output": {"name": "float", "template": []}},{"type": "property", "binding": "bound", "name": "width", "flags": ["field"],  "output": {"name": "float", "template": []}},{"type": "property", "binding": "bound", "name": "height", "flags": ["field"],  "output": {"name": "float", "template": []}},{"type": "property", "binding": "bound", "name": "shippingClass", "flags": ["field"],  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "enabled", "flags": ["field"],  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "downloadable", "flags": ["field"],  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "virtual", "flags": ["field"],  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "attributes", "flags": ["field"],  "output": {"name": "array", "template": [{"name": "map", "template": [{"name": "primitive", "template": []}]}]}},{"type": "property", "binding": "bound", "name": "variations", "flags": ["field"],  "output": {"name": "array", "template": [{"name": "map", "template": [{"name": "primitive", "template": []}]}]}},{"type": "method", "binding": "bound", "name": "pick",  "output": {"name": "Websom.Standard.CommerceSystem.OrderItem", "template": []}, "arguments": [{"optional": "false", "name": "quantity", "type": {"name": "int", "template": []}},{"optional": "false", "name": "variation", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}}], "isImplicitAsync": false, "isAsync": false}], "raw": {"type":"relative","doc":[],"flags":["header"],"name":"Websom.Standard.CommerceSystem.Product","members":[{"type":"property","name":"name","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":1720,"end":1722,"appendix":[]}],"type":"expression","start":1720,"end":1721}},"output":{"name":"string","template":[]},"flags":["field"],"templates":[],"start":1700,"doc":[],"end":1722},{"type":"property","name":"description","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":1753,"end":1755,"appendix":[]}],"type":"expression","start":1753,"end":1754}},"output":{"name":"string","template":[]},"flags":["field"],"templates":[],"start":1723,"doc":[],"end":1755},{"type":"property","name":"sku","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":1778,"end":1780,"appendix":[]}],"type":"expression","start":1778,"end":1779}},"output":{"name":"string","template":[]},"flags":["field"],"templates":[],"start":1756,"doc":[],"end":1780},{"type":"property","name":"upc","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":1803,"end":1805,"appendix":[]}],"type":"expression","start":1803,"end":1804}},"output":{"name":"string","template":[]},"flags":["field"],"templates":[],"start":1781,"doc":[],"end":1805},{"type":"property","name":"stock","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"number","value":0,"integer":true,"start":1827,"end":1828,"appendix":[]}],"type":"expression","start":1827,"end":1827}},"output":{"name":"int","template":[]},"flags":["field"],"templates":[],"start":1806,"doc":[],"end":1828},{"type":"property","name":"stock","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"number","value":0,"integer":true,"start":1853,"end":1854,"appendix":[]}],"type":"expression","start":1853,"end":1853}},"output":{"name":"string","template":[]},"flags":["field"],"templates":[],"start":1829,"doc":[],"end":1854},{"type":"property","name":"regularPrice","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"number","value":0,"integer":true,"start":1887,"end":1888,"appendix":[]}],"type":"expression","start":1887,"end":1887}},"output":{"name":"float","template":[]},"flags":["field"],"templates":[],"start":1855,"doc":[],"end":1888},{"type":"property","name":"salePrice","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"number","value":0,"integer":true,"start":1916,"end":1917,"appendix":[]}],"type":"expression","start":1916,"end":1916}},"output":{"name":"float","template":[]},"flags":["field"],"templates":[],"start":1889,"doc":[],"end":1917},{"type":"property","name":"noDiscounts","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"boolean","value":false,"start":1948,"end":1953,"appendix":[]}],"type":"expression","start":1948,"end":1952}},"output":{"name":"bool","template":[]},"flags":["field"],"templates":[],"start":1918,"doc":[],"end":1953},{"type":"property","name":"status","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"in-stock","start":1982,"end":1992,"appendix":[]}],"type":"expression","start":1982,"end":1991}},"output":{"name":"string","template":[]},"flags":["field"],"templates":[],"start":1954,"doc":[],"end":1992},{"type":"property","name":"limit","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"number","value":0,"integer":true,"start":2043,"end":2044,"appendix":[]}],"type":"expression","start":2043,"end":2043}},"output":{"name":"int","template":[]},"flags":["field"],"templates":[],"start":1993,"doc":[],"end":2044},{"type":"property","name":"type","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":2068,"end":2070,"appendix":[]}],"type":"expression","start":2068,"end":2069}},"output":{"name":"string","template":[]},"flags":["field"],"templates":[],"start":2045,"doc":[],"end":2070},{"type":"property","name":"weight","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"number","value":0,"integer":true,"start":2097,"end":2098,"appendix":[]}],"type":"expression","start":2097,"end":2097}},"output":{"name":"float","template":[]},"flags":["field"],"templates":[],"start":2071,"doc":[],"end":2098},{"type":"property","name":"length","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"number","value":0,"integer":true,"start":2130,"end":2131,"appendix":[]}],"type":"expression","start":2130,"end":2130}},"output":{"name":"float","template":[]},"flags":["field"],"templates":[],"start":2099,"doc":[],"end":2131},{"type":"property","name":"width","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"number","value":0,"integer":true,"start":2155,"end":2156,"appendix":[]}],"type":"expression","start":2155,"end":2155}},"output":{"name":"float","template":[]},"flags":["field"],"templates":[],"start":2132,"doc":[],"end":2156},{"type":"property","name":"height","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"number","value":0,"integer":true,"start":2181,"end":2182,"appendix":[]}],"type":"expression","start":2181,"end":2181}},"output":{"name":"float","template":[]},"flags":["field"],"templates":[],"start":2157,"doc":[],"end":2182},{"type":"property","name":"shippingClass","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":2217,"end":2219,"appendix":[]}],"type":"expression","start":2217,"end":2218}},"output":{"name":"string","template":[]},"flags":["field"],"templates":[],"start":2183,"doc":[],"end":2219},{"type":"property","name":"enabled","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"boolean","value":true,"start":2246,"end":2250,"appendix":[]}],"type":"expression","start":2246,"end":2249}},"output":{"name":"bool","template":[]},"flags":["field"],"templates":[],"start":2220,"doc":[],"end":2250},{"type":"property","name":"downloadable","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"boolean","value":true,"start":2280,"end":2284,"appendix":[]}],"type":"expression","start":2280,"end":2283}},"output":{"name":"bool","template":[]},"flags":["field"],"templates":[],"start":2251,"doc":[],"end":2284},{"type":"property","name":"virtual","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"boolean","value":true,"start":2309,"end":2313,"appendix":[]}],"type":"expression","start":2309,"end":2312}},"output":{"name":"bool","template":[]},"flags":["field"],"templates":[],"start":2285,"doc":[],"end":2313},{"type":"property","name":"attributes","value":{"type":"property","value":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"map","start":2353,"end":2358,"appendix":[{"type":"call","expression":[]}]}],"type":"expression","start":2353,"end":2357},"start":2349,"end":2358,"appendix":[]}],"type":"expression","start":2349,"end":2357}},"flags":["field"],"output":{"name":"array","reference":0,"start":2325,"end":2335,"template":[{"name":"map","reference":0,"start":2326,"end":2329,"template":false}]},"templates":[],"start":2314,"doc":[],"end":2358},{"type":"property","name":"variations","value":{"type":"property","value":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"array","start":2396,"end":2408,"appendix":[{"type":"call","expression":[]}],"template":[{"name":"map","reference":0,"start":2397,"end":2400,"template":false}]}],"type":"expression","start":2396,"end":2407},"start":2392,"end":2408,"appendix":[]}],"type":"expression","start":2392,"end":2407}},"flags":["field"],"output":{"name":"array","reference":0,"start":2368,"end":2378,"template":[{"name":"map","reference":0,"start":2369,"end":2372,"template":false}]},"templates":[],"start":2359,"doc":[],"end":2408},{"type":"method","name":"pick","value":{"type":"method","parameters":[{"type":{"name":"int","reference":0,"start":2460,"end":2463,"template":false},"doc":[],"name":"quantity","optional":[]},{"type":{"name":"map","reference":0,"start":2474,"end":2477,"template":false},"doc":[],"name":"variation","optional":[]}],"body":{"type":"block","code":[{"type":"define","name":"item","valueType":"","auto":true,"value":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"Websom.Standard.CommerceSystem.OrderItem","start":2509,"end":2551,"appendix":[{"type":"call","expression":[]}]}],"type":"expression","start":2509,"end":2550},"start":2505,"end":2551,"appendix":[]}],"type":"expression","start":2505,"end":2550},"start":2494,"end":2551},{"terms":[{"operator":"=","term":{"type":"constant","name":"item.quantity","start":2556,"end":2569,"appendix":[]}},{"type":"constant","name":"quantity","start":2572,"end":2580,"appendix":[]}],"type":"expression","start":2552,"end":2580},{"terms":[{"operator":"=","term":{"type":"constant","name":"item.total","start":2585,"end":2595,"appendix":[]}},{"operator":"*","term":{"type":"constant","name":"this.salePrice","start":2598,"end":2612,"appendix":[]}},{"type":"constant","name":"quantity","start":2615,"end":2623,"appendix":[]}],"type":"expression","start":2581,"end":2623},{"terms":[{"operator":"=","term":{"type":"constant","name":"item.variation","start":2628,"end":2642,"appendix":[]}},{"type":"constant","name":"variation","start":2645,"end":2654,"appendix":[]}],"type":"expression","start":2624,"end":2654},{"terms":[{"operator":"=","term":{"type":"constant","name":"item.product","start":2659,"end":2671,"appendix":[]}},{"type":"constant","name":"this","start":2674,"end":2678,"appendix":[]}],"type":"expression","start":2655,"end":2678},{"type":"return","expression":{"terms":[{"type":"constant","name":"item","start":2692,"end":2696,"appendix":[]}],"type":"expression","start":2692,"end":2695},"start":2679,"end":2696}],"start":2489,"end":2700}},"output":{"name":"Websom.Standard.CommerceSystem.OrderItem","template":[]},"flags":[],"templates":[],"start":2409,"doc":[],"end":2700}],"templates":[],"start":1637,"end":2703}},{"type": "class", "base": "relative", "flags": ["header"], "templates": [], "route": "Websom.Standard.CommerceSystem.Cart", "name": "Cart", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "user", "flags": ["field"],  "output": {"name": "Websom.Standard.UserSystem.User", "template": []}},{"type": "property", "binding": "bound", "name": "subTotal", "flags": ["field"],  "output": {"name": "float", "template": []}},{"type": "property", "binding": "bound", "name": "total", "flags": ["field"],  "output": {"name": "float", "template": []}},{"type": "property", "binding": "bound", "name": "tax", "flags": ["field"],  "output": {"name": "float", "template": []}},{"type": "property", "binding": "bound", "name": "discount", "flags": ["field"],  "output": {"name": "float", "template": []}},{"type": "property", "binding": "bound", "name": "created", "flags": ["field"],  "output": {"name": "Websom.Time", "template": []}},{"type": "property", "binding": "bound", "name": "completed", "flags": ["field"],  "output": {"name": "Websom.Time", "template": []}},{"type": "property", "binding": "bound", "name": "coupons", "flags": ["field"],  "output": {"name": "array", "template": [{"name": "string", "template": []}]}},{"type": "property", "binding": "bound", "name": "items", "flags": ["field"],  "output": {"name": "array", "template": [{"name": "Websom.Standard.CommerceSystem.OrderItem", "template": []}]}}], "raw": {"type":"relative","doc":[],"flags":["header"],"name":"Websom.Standard.CommerceSystem.Cart","members":[{"type":"property","name":"user","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":2809,"end":2813,"appendix":[]}],"type":"expression","start":2809,"end":2812}},"output":{"name":"Websom.Standard.UserSystem.User","template":[]},"flags":["field"],"templates":[],"start":2764,"doc":[],"end":2813},{"type":"property","name":"subTotal","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"number","value":0,"integer":true,"start":2842,"end":2843,"appendix":[]}],"type":"expression","start":2842,"end":2842}},"output":{"name":"float","template":[]},"flags":["field"],"templates":[],"start":2814,"doc":[],"end":2843},{"type":"property","name":"total","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"number","value":0,"integer":true,"start":2867,"end":2868,"appendix":[]}],"type":"expression","start":2867,"end":2867}},"output":{"name":"float","template":[]},"flags":["field"],"templates":[],"start":2844,"doc":[],"end":2868},{"type":"property","name":"tax","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"number","value":0,"integer":true,"start":2890,"end":2891,"appendix":[]}],"type":"expression","start":2890,"end":2890}},"output":{"name":"float","template":[]},"flags":["field"],"templates":[],"start":2869,"doc":[],"end":2891},{"type":"property","name":"discount","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"number","value":0,"integer":true,"start":2918,"end":2919,"appendix":[]}],"type":"expression","start":2918,"end":2918}},"output":{"name":"float","template":[]},"flags":["field"],"templates":[],"start":2892,"doc":[],"end":2919},{"type":"property","name":"created","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":2953,"end":2957,"appendix":[]}],"type":"expression","start":2953,"end":2956}},"output":{"name":"Websom.Time","template":[]},"flags":["field"],"templates":[],"start":2920,"doc":[],"end":2957},{"type":"property","name":"completed","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":2991,"end":2995,"appendix":[]}],"type":"expression","start":2991,"end":2994}},"output":{"name":"Websom.Time","template":[]},"flags":["field"],"templates":[],"start":2958,"doc":[],"end":2995},{"type":"property","name":"coupons","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":3031,"end":3035,"appendix":[]}],"type":"expression","start":3031,"end":3034}},"flags":["field"],"output":{"name":"array","reference":0,"start":3007,"end":3020,"template":[{"name":"string","reference":0,"start":3008,"end":3014,"template":false}]},"templates":[],"start":2996,"doc":[],"end":3035},{"type":"property","name":"items","value":{"type":"property","value":{"terms":[{"type":"constant","name":"null","start":3104,"end":3108,"appendix":[]}],"type":"expression","start":3104,"end":3107}},"flags":["field"],"output":{"name":"array","reference":0,"start":3048,"end":3095,"template":[{"name":"Websom.Standard.CommerceSystem.OrderItem","reference":0,"start":3049,"end":3089,"template":false}]},"templates":[],"start":3036,"doc":[],"end":3108}],"templates":[],"start":2704,"end":3111}},{"type": "class", "base": "relative", "flags": ["header"], "templates": [], "route": "Websom.Standard.CommerceSystem.ShippingClass", "name": "ShippingClass", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "name", "flags": ["field"],  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "description", "flags": ["field"],  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "products", "flags": ["field"],  "output": {"name": "int", "template": []}},{"type": "property", "binding": "bound", "name": "meta", "flags": ["field"],  "output": {"name": "string", "template": []}}], "raw": {"type":"relative","doc":[],"flags":["header"],"name":"Websom.Standard.CommerceSystem.ShippingClass","members":[{"type":"property","name":"name","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":3201,"end":3203,"appendix":[]}],"type":"expression","start":3201,"end":3202}},"output":{"name":"string","template":[]},"flags":["field"],"templates":[],"start":3181,"doc":[],"end":3203},{"type":"property","name":"description","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":3234,"end":3236,"appendix":[]}],"type":"expression","start":3234,"end":3235}},"output":{"name":"string","template":[]},"flags":["field"],"templates":[],"start":3204,"doc":[],"end":3236},{"type":"property","name":"products","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"number","value":0,"integer":true,"start":3261,"end":3262,"appendix":[]}],"type":"expression","start":3261,"end":3261}},"output":{"name":"int","template":[]},"flags":["field"],"templates":[],"start":3237,"doc":[],"end":3262},{"type":"property","name":"meta","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":3286,"end":3288,"appendix":[]}],"type":"expression","start":3286,"end":3287}},"output":{"name":"string","template":[]},"flags":["field"],"templates":[],"start":3263,"doc":[],"end":3288}],"templates":[],"start":3112,"end":3291}},{"type": "class", "base": "relative", "flags": ["header"], "templates": [], "route": "Websom.Standard.CommerceSystem.ShippingZone", "name": "ShippingZone", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "name", "flags": ["field"],  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "regions", "flags": ["field"],  "output": {"name": "array", "template": [{"name": "string", "template": []}]}},{"type": "property", "binding": "bound", "name": "methods", "flags": ["field"],  "output": {"name": "array", "template": [{"name": "Websom.Standard.CommerceSystem.ShippingMethod", "template": []}]}}], "raw": {"type":"relative","doc":[],"flags":["header"],"name":"Websom.Standard.CommerceSystem.ShippingZone","members":[{"type":"property","name":"name","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":3380,"end":3382,"appendix":[]}],"type":"expression","start":3380,"end":3381}},"output":{"name":"string","template":[]},"flags":["field"],"templates":[],"start":3360,"doc":[],"end":3382},{"type":"property","name":"regions","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":3416,"end":3418,"appendix":[]}],"type":"expression","start":3416,"end":3417}},"flags":["field"],"output":{"name":"array","reference":0,"start":3392,"end":3405,"template":[{"name":"string","reference":0,"start":3393,"end":3399,"template":false}]},"templates":[],"start":3383,"doc":[],"end":3418},{"type":"property","name":"methods","value":{"type":"property","value":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"array","start":3495,"end":3549,"appendix":[{"type":"call","expression":[]}],"template":[{"name":"Websom.Standard.CommerceSystem.ShippingMethod","reference":0,"start":3496,"end":3541,"template":false}]}],"type":"expression","start":3495,"end":3548},"start":3491,"end":3549,"appendix":[]}],"type":"expression","start":3491,"end":3548}},"flags":["field"],"output":{"name":"array","reference":0,"start":3428,"end":3480,"template":[{"name":"Websom.Standard.CommerceSystem.ShippingMethod","reference":0,"start":3429,"end":3474,"template":false}]},"templates":[],"start":3419,"doc":[],"end":3549}],"templates":[],"start":3292,"end":3552}},{"type": "class", "base": "class", "flags": ["header","header"], "templates": [], "route": "Websom.Standard.CommerceSystem.ShippingMethod", "name": "ShippingMethod", "inherits": ["Websom.Serializable","everything"], "members": [{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "property", "binding": "bound", "name": "name", "flags": ["field"],  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "description", "flags": ["field"],  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "enabled", "flags": ["field"],  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "type", "flags": ["field"],  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "price", "flags": ["field"],  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "shippingClassOverrides", "flags": ["field"],  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "getFieldValue",  "output": {"name": "primitive", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "getSimpleSchema",  "output": {"name": "Websom.Adapters.Database.Schema", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "saveToMap",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}, "arguments": [], "isImplicitAsync": true, "isAsync": true},{"type": "method", "binding": "bound", "name": "loadFromMap", "flags": ["override"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "data", "type": {"name": "map", "template": [{"name": "primitive", "template": []}]}}], "isImplicitAsync": true, "isAsync": true}], "raw": {"type":"class","doc":[],"flags":["header","header"],"name":"Websom.Standard.CommerceSystem.ShippingMethod","members":[{"type":"method","name":"@construct","value":{"type":"method","parameters":[],"body":{"type":"block","code":[],"start":3666,"end":3672}},"output":{"name":"void","template":[]},"flags":[],"templates":[],"start":3648,"doc":[],"end":3672},{"type":"property","name":"name","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":3698,"end":3700,"appendix":[]}],"type":"expression","start":3698,"end":3699}},"output":{"name":"string","template":[]},"flags":["field"],"templates":[],"start":3673,"doc":[],"end":3700},{"type":"property","name":"description","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":3731,"end":3733,"appendix":[]}],"type":"expression","start":3731,"end":3732}},"output":{"name":"string","template":[]},"flags":["field"],"templates":[],"start":3701,"doc":[],"end":3733},{"type":"property","name":"enabled","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"boolean","value":true,"start":3758,"end":3762,"appendix":[]}],"type":"expression","start":3758,"end":3761}},"output":{"name":"bool","template":[]},"flags":["field"],"templates":[],"start":3734,"doc":[],"end":3762},{"type":"property","name":"type","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":3786,"end":3788,"appendix":[]}],"type":"expression","start":3786,"end":3787}},"output":{"name":"string","template":[]},"flags":["field"],"templates":[],"start":3763,"doc":[],"end":3788},{"type":"property","name":"price","value":{"type":"property","value":{"terms":[{"type":"literal","literalType":"string","value":"","start":3813,"end":3815,"appendix":[]}],"type":"expression","start":3813,"end":3814}},"output":{"name":"string","template":[]},"flags":["field"],"templates":[],"start":3789,"doc":[],"end":3815},{"type":"property","name":"shippingClassOverrides","value":{"type":"property","value":{"terms":[{"type":"prefix","prefix":"new","expression":{"terms":[{"type":"constant","name":"map","start":3860,"end":3865,"appendix":[{"type":"call","expression":[]}]}],"type":"expression","start":3860,"end":3864},"start":3856,"end":3865,"appendix":[]}],"type":"expression","start":3856,"end":3864}},"output":{"name":"map","template":[]},"flags":["field"],"templates":[],"start":3816,"doc":[],"end":3865}],"inherits":{"types":[{"name":"Websom.Serializable","reference":0,"start":3624,"end":3643,"template":false}]},"templates":[],"start":3553,"end":3868}},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.Command", "name": "Command", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "property", "binding": "bound", "name": "name",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "patterns",  "output": {"name": "array", "template": [{"name": "Websom.CommandPattern", "template": []}]}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}},{"optional": "false", "name": "name", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "command",  "output": {"name": "Websom.CommandPattern", "template": []}, "arguments": [{"optional": "false", "name": "pattern", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.CommandFlag", "name": "CommandFlag", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "parent",  "output": {"name": "Websom.CommandPattern", "template": []}},{"type": "property", "binding": "bound", "name": "name",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "_type",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "_default",  "output": {"name": "primitive", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "parent", "type": {"name": "Websom.CommandPattern", "template": []}},{"optional": "false", "name": "name", "type": {"name": "string", "template": []}},{"optional": "false", "name": "type", "type": {"name": "string", "template": []}},{"optional": "false", "name": "defVal", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "type",  "output": {"name": "Websom.CommandFlag", "template": []}, "arguments": [{"optional": "false", "name": "type", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "default",  "output": {"name": "Websom.CommandFlag", "template": []}, "arguments": [{"optional": "false", "name": "val", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "flag",  "output": {"name": "Websom.CommandFlag", "template": []}, "arguments": [{"optional": "false", "name": "name", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "command",  "output": {"name": "Websom.CommandPattern", "template": []}, "arguments": [{"optional": "false", "name": "pattern", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "cook",  "output": {"name": "Websom.CommandFlag", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "on",  "output": {"name": "Websom.CommandPattern", "template": []}, "arguments": [{"optional": "false", "name": "run", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.CommandInvocation", "template": []}]}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.CommandPart", "name": "CommandPart", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "type",  "output": {"name": "int", "template": []}},{"type": "property", "binding": "bound", "name": "optional",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "default",  "output": {"name": "primitive", "template": []}},{"type": "property", "binding": "bound", "name": "name",  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "name", "type": {"name": "string", "template": []}},{"optional": "false", "name": "type", "type": {"name": "int", "template": []}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.CommandPattern", "name": "CommandPattern", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "cooked",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "parent",  "output": {"name": "Websom.Command", "template": []}},{"type": "property", "binding": "bound", "name": "pattern",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "flags",  "output": {"name": "array", "template": [{"name": "Websom.CommandFlag", "template": []}]}},{"type": "property", "binding": "bound", "name": "handler",  "output": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.CommandInvocation", "template": []}]}},{"type": "property", "binding": "bound", "name": "parts",  "output": {"name": "array", "template": [{"name": "Websom.CommandPart", "template": []}]}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "parent", "type": {"name": "Websom.Command", "template": []}},{"optional": "false", "name": "pattern", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "flag",  "output": {"name": "Websom.CommandFlag", "template": []}, "arguments": [{"optional": "false", "name": "name", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "command",  "output": {"name": "Websom.CommandPattern", "template": []}, "arguments": [{"optional": "false", "name": "pattern", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "on",  "output": {"name": "Websom.CommandPattern", "template": []}, "arguments": [{"optional": "false", "name": "run", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "Websom.CommandInvocation", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "run",  "output": {"name": "string", "template": []}, "arguments": [{"optional": "false", "name": "invocation", "type": {"name": "Websom.CommandInvocation", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "match",  "output": {"name": "bool", "template": []}, "arguments": [{"optional": "false", "name": "invocation", "type": {"name": "Websom.CommandInvocation", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "buildParts",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "cook",  "output": {"name": "Websom.CommandPattern", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.CommandInvocation", "name": "CommandInvocation", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "local",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "request",  "output": {"name": "Websom.Request", "template": []}},{"type": "property", "binding": "bound", "name": "sender",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "handler",  "output": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "bool", "template": []}, {"name": "string", "template": []}]}},{"type": "property", "binding": "bound", "name": "completedHook",  "output": {"name": "function", "template": [{"name": "void", "template": []}]}},{"type": "property", "binding": "bound", "name": "color",  "output": {"name": "function", "template": [{"name": "string", "template": []}, {"name": "string", "template": []}, {"name": "string", "template": []}]}},{"type": "property", "binding": "bound", "name": "bold",  "output": {"name": "function", "template": [{"name": "string", "template": []}, {"name": "string", "template": []}]}},{"type": "property", "binding": "bound", "name": "pattern",  "output": {"name": "Websom.CommandPattern", "template": []}},{"type": "property", "binding": "bound", "name": "server",  "output": {"name": "Websom.Server", "template": []}},{"type": "property", "binding": "bound", "name": "flags",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "values",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "rawOutput",  "output": {"name": "array", "template": [{"name": "string", "template": []}]}},{"type": "property", "binding": "bound", "name": "arguments",  "output": {"name": "array", "template": [{"name": "string", "template": []}]}},{"type": "property", "binding": "bound", "name": "raw",  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "server", "type": {"name": "Websom.Server", "template": []}},{"optional": "false", "name": "raw", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "get",  "output": {"name": "primitive", "template": []}, "arguments": [{"optional": "false", "name": "name", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "error",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "message", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "output",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "message", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "finish",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "searchPatterns",  "output": {"name": "Websom.CommandPattern", "template": []}, "arguments": [{"optional": "false", "name": "patterns", "type": {"name": "array", "template": [{"name": "Websom.CommandPattern", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "search",  "output": {"name": "Websom.CommandPattern", "template": []}, "arguments": [{"optional": "false", "name": "commands", "type": {"name": "array", "template": [{"name": "Websom.Command", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "parse",  "output": {"name": "string", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.DatabaseDocument", "name": "DatabaseDocument", "inherits": ["everything"], "members": []},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.DatabaseInsert", "name": "DatabaseInsert", "inherits": ["Websom.DatabaseInterface","everything"], "members": [{"type": "property", "binding": "bound", "name": "table",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "number",  "output": {"name": "int", "template": []}},{"type": "property", "binding": "bound", "name": "isMulti",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "values",  "output": {"name": "array", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "multiKeys",  "output": {"name": "map", "template": [{"name": "primitive", "template": []}]}},{"type": "property", "binding": "bound", "name": "inserts",  "output": {"name": "array", "template": [{"name": "Websom.DatabaseUpdate", "template": []}]}},{"type": "property", "binding": "bound", "name": "multiInserts",  "output": {"name": "array", "template": [{"name": "array", "template": [{"name": "Websom.DatabaseUpdate", "template": []}]}]}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "database", "type": {"name": "Websom.Database", "template": []}},{"optional": "false", "name": "table", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "doesSet",  "output": {"name": "bool", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "run",  "output": {"name": "Websom.DatabaseInsert", "template": []}, "arguments": [{"optional": "false", "name": "callback", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "string", "template": []}, {"name": "primitive", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "amount",  "output": {"name": "Websom.DatabaseInsert", "template": []}, "arguments": [{"optional": "false", "name": "number", "type": {"name": "int", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "multi",  "output": {"name": "Websom.DatabaseInsert", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "new",  "output": {"name": "Websom.DatabaseInsert", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "set",  "output": {"name": "Websom.DatabaseInsert", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "string", "template": []}},{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "get",  "output": {"name": "primitive", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "property", "binding": "bound", "name": "database",  "output": {"name": "Websom.Database", "template": []}}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.DatabaseInterface", "name": "DatabaseInterface", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "database",  "output": {"name": "Websom.Database", "template": []}}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.DatabaseSelect", "name": "DatabaseSelect", "inherits": ["Websom.DatabaseInterface","everything"], "members": [{"type": "property", "binding": "bound", "name": "table",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "workingField",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "fields",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "limitAmount",  "output": {"name": "int", "template": []}},{"type": "property", "binding": "bound", "name": "limitOffset",  "output": {"name": "int", "template": []}},{"type": "property", "binding": "bound", "name": "orderField",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "orderWay",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "doUpdate",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "doDelete",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "groupLevel",  "output": {"name": "int", "template": []}},{"type": "property", "binding": "bound", "name": "freshGroup",  "output": {"name": "bool", "template": []}},{"type": "property", "binding": "bound", "name": "updates",  "output": {"name": "array", "template": [{"name": "Websom.DatabaseUpdate", "template": []}]}},{"type": "method", "binding": "bound", "name": "doesSet",  "output": {"name": "bool", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "database", "type": {"name": "Websom.Database", "template": []}},{"optional": "false", "name": "table", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "new",  "output": {"name": "Websom.DatabaseSelect", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "field",  "output": {"name": "Websom.DatabaseSelect", "template": []}, "arguments": [{"optional": "false", "name": "fields", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "where",  "output": {"name": "Websom.DatabaseSelect", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "order",  "output": {"name": "Websom.DatabaseSelect", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "string", "template": []}},{"optional": "false", "name": "order", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "limit",  "output": {"name": "Websom.DatabaseSelect", "template": []}, "arguments": [{"optional": "false", "name": "documents", "type": {"name": "int", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "limit",  "output": {"name": "Websom.DatabaseSelect", "template": []}, "arguments": [{"optional": "false", "name": "offset", "type": {"name": "int", "template": []}},{"optional": "false", "name": "documents", "type": {"name": "int", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "run",  "output": {"name": "Websom.DatabaseSelect", "template": []}, "arguments": [{"optional": "false", "name": "callback", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "string", "template": []}, {"name": "array", "template": [{"name": "map", "template": [{"name": "primitive", "template": []}]}]}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "or", "flags": ["force"],  "output": {"name": "Websom.DatabaseSelect", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "and", "flags": ["force"],  "output": {"name": "Websom.DatabaseSelect", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "group",  "output": {"name": "Websom.DatabaseSelect", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "endGroup",  "output": {"name": "Websom.DatabaseSelect", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "not",  "output": {"name": "Websom.DatabaseSelect", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "equals",  "output": {"name": "Websom.DatabaseSelect", "template": []}, "arguments": [{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "in",  "output": {"name": "Websom.DatabaseSelect", "template": []}, "arguments": [{"optional": "false", "name": "values", "type": {"name": "array", "template": [{"name": "primitive", "template": []}]}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "like",  "output": {"name": "Websom.DatabaseSelect", "template": []}, "arguments": [{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "wildLike",  "output": {"name": "Websom.DatabaseSelect", "template": []}, "arguments": [{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "greater",  "output": {"name": "Websom.DatabaseSelect", "template": []}, "arguments": [{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "lesser",  "output": {"name": "Websom.DatabaseSelect", "template": []}, "arguments": [{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "update",  "output": {"name": "Websom.DatabaseSelect", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "delete",  "output": {"name": "Websom.DatabaseSelect", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "set",  "output": {"name": "Websom.DatabaseSelect", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "string", "template": []}},{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "property", "binding": "bound", "name": "database",  "output": {"name": "Websom.Database", "template": []}}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.DatabaseStructure", "name": "DatabaseStructure", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "database",  "output": {"name": "Websom.Database", "template": []}},{"type": "property", "binding": "bound", "name": "table",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "fields",  "output": {"name": "array", "template": [{"name": "Websom.DatabaseField", "template": []}]}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "database", "type": {"name": "Websom.Database", "template": []}},{"optional": "false", "name": "table", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "field",  "output": {"name": "Websom.DatabaseStructure", "template": []}, "arguments": [{"optional": "false", "name": "name", "type": {"name": "string", "template": []}},{"optional": "false", "name": "type", "type": {"name": "Websom.DatabaseType", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "flag",  "output": {"name": "Websom.DatabaseStructure", "template": []}, "arguments": [{"optional": "false", "name": "flag", "type": {"name": "Websom.DatabaseFlag", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "run",  "output": {"name": "Websom.DatabaseStructure", "template": []}, "arguments": [{"optional": "false", "name": "callback", "type": {"name": "function", "template": [{"name": "void", "template": []}, {"name": "string", "template": []}]}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "namespace", "flags": [], "templates": [], "route": "Websom.DatabaseFlags", "name": "DatabaseFlags", "inherits": ["everything"], "members": []},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.DatabaseFlags.AutoIncrement", "name": "AutoIncrement", "inherits": ["Websom.DatabaseFlag","everything"], "members": [{"type": "property", "binding": "bound", "name": "type", "flags": ["override"],  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.DatabaseFlags.Primary", "name": "Primary", "inherits": ["Websom.DatabaseFlag","everything"], "members": [{"type": "property", "binding": "bound", "name": "type", "flags": ["override"],  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.DatabaseFlags.Edit", "name": "Edit", "inherits": ["Websom.DatabaseFlag","everything"], "members": [{"type": "property", "binding": "bound", "name": "type", "flags": ["override"],  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.DatabaseFlags.Linked", "name": "Linked", "inherits": ["Websom.DatabaseFlag","everything"], "members": [{"type": "property", "binding": "bound", "name": "type", "flags": ["override"],  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "name",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "linkType",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "fieldType",  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "@construct", "flags": ["override"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "name", "type": {"name": "string", "template": []}},{"optional": "false", "name": "linkType", "type": {"name": "string", "template": []}},{"optional": "false", "name": "fieldType", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.DatabaseFlags.Unsigned", "name": "Unsigned", "inherits": ["Websom.DatabaseFlag","everything"], "members": [{"type": "property", "binding": "bound", "name": "type", "flags": ["override"],  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.DatabaseFlag", "name": "DatabaseFlag", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "type",  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.DatabaseField", "name": "DatabaseField", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "name",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "type",  "output": {"name": "Websom.DatabaseType", "template": []}},{"type": "property", "binding": "bound", "name": "flags",  "output": {"name": "array", "template": [{"name": "Websom.DatabaseFlag", "template": []}]}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "name", "type": {"name": "string", "template": []}},{"optional": "false", "name": "type", "type": {"name": "Websom.DatabaseType", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "hasFlag",  "output": {"name": "bool", "template": []}, "arguments": [{"optional": "false", "name": "name", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "getFlag",  "output": {"name": "Websom.DatabaseFlag", "template": []}, "arguments": [{"optional": "false", "name": "name", "type": {"name": "string", "template": []}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "namespace", "flags": [], "templates": [], "route": "Websom.DatabaseTypes", "name": "DatabaseTypes", "inherits": ["everything"], "members": []},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.DatabaseTypes.Varchar", "name": "Varchar", "inherits": ["Websom.DatabaseType","everything"], "members": [{"type": "property", "binding": "bound", "name": "type", "flags": ["override"],  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "length",  "output": {"name": "int", "template": []}},{"type": "method", "binding": "bound", "name": "@construct", "flags": ["override"],  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "length", "type": {"name": "int", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "autoControl", "flags": ["override"],  "output": {"name": "Websom.Control", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "Websom.FieldInfo", "template": []}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.DatabaseTypes.Text", "name": "Text", "inherits": ["Websom.DatabaseType","everything"], "members": [{"type": "property", "binding": "bound", "name": "type", "flags": ["override"],  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "autoControl", "flags": ["override"],  "output": {"name": "Websom.Control", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "Websom.FieldInfo", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.DatabaseTypes.BigInt", "name": "BigInt", "inherits": ["Websom.DatabaseType","everything"], "members": [{"type": "property", "binding": "bound", "name": "type", "flags": ["override"],  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "autoControl", "flags": ["override"],  "output": {"name": "Websom.Control", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "Websom.FieldInfo", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.DatabaseTypes.Int", "name": "Int", "inherits": ["Websom.DatabaseType","everything"], "members": [{"type": "property", "binding": "bound", "name": "type", "flags": ["override"],  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "autoControl", "flags": ["override"],  "output": {"name": "Websom.Control", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "Websom.FieldInfo", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.DatabaseTypes.Float", "name": "Float", "inherits": ["Websom.DatabaseType","everything"], "members": [{"type": "property", "binding": "bound", "name": "type", "flags": ["override"],  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "autoControl", "flags": ["override"],  "output": {"name": "Websom.Control", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "Websom.FieldInfo", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.DatabaseTypes.Bool", "name": "Bool", "inherits": ["Websom.DatabaseType","everything"], "members": [{"type": "property", "binding": "bound", "name": "type", "flags": ["override"],  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "autoControl", "flags": ["override"],  "output": {"name": "Websom.Control", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "Websom.FieldInfo", "template": []}}], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.DatabaseType", "name": "DatabaseType", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "type",  "output": {"name": "string", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [], "isImplicitAsync": false, "isAsync": false},{"type": "method", "binding": "bound", "name": "autoControl",  "output": {"name": "Websom.Control", "template": []}, "arguments": [{"optional": "false", "name": "info", "type": {"name": "Websom.FieldInfo", "template": []}}], "isImplicitAsync": false, "isAsync": false}]},{"type": "class", "base": "class", "flags": [], "templates": [], "route": "Websom.DatabaseUpdate", "name": "DatabaseUpdate", "inherits": ["everything"], "members": [{"type": "property", "binding": "bound", "name": "field",  "output": {"name": "string", "template": []}},{"type": "property", "binding": "bound", "name": "value",  "output": {"name": "primitive", "template": []}},{"type": "method", "binding": "bound", "name": "@construct",  "output": {"name": "void", "template": []}, "arguments": [{"optional": "false", "name": "field", "type": {"name": "string", "template": []}},{"optional": "false", "name": "value", "type": {"name": "primitive", "template": []}}], "isImplicitAsync": false, "isAsync": false}]}], "scripts": [{"type":"script","language":"Carbon","content":[{"type":"raw","offset":961,"startOffset":558,"content":"\r\n\tlet num = 0;\r\n\r\n\tCarbon.on(\"inherits.Websom.Service\", bool (Carbon.Class base, Carbon.Class cls) => {\r\n\t\tnum += 1;\r\n\t});\r\n\r\n\tCarbon.on(\"classes.end\", void () => {\r\n\t\tprint(\"\");\r\n\t\tprint(\"--------------- WEBSOM ---------------\");\r\n\t\tprint(\"\");\r\n\t\tprint(\"    \" + num.toString() + \" services included in build\");\r\n\t\tprint(\"\");\r\n\t\tprint(\"--------------------------------------\");\r\n\t\tprint(\"\");\r\n\t});\r\n\t\r\n"}],"offset":971,"startOffset":544},{"type":"script","language":"Carbon","content":[{"type":"raw","offset":8247,"startOffset":4559,"content":"\r\n\r\nlet buildFieldForMember = void (Carbon.Class cls, Carbon.Property prop) => {\r\n\tlet rawType = \"string\";\r\n\tlet isPrimitive = prop.output.reference.descendantOf(Carbon.findClass(\"primitive\"));\r\n\r\n\tif (isPrimitive == true) {\r\n\t\tif (prop.output.reference.route == \"string\") {\r\n\t\t\trawType = \"string\";\r\n\t\t}\r\n\t\tif (prop.output.reference.route == \"float\") {\r\n\t\t\trawType = \"float\";\r\n\t\t}\r\n\t\tif (prop.output.reference.route == \"int\") {\r\n\t\t\trawType = \"integer\";\r\n\t\t}\r\n\t\tif (prop.output.reference.route == \"array\") {\r\n\t\t\trawType = \"array\";\r\n\r\n\t\t\tlet aType = prop.output.templates[0];\r\n\t\t\tlet isSerializable = aType.reference.descendantOf(Carbon.findClass(\"Websom.Serializable\"));\r\n\r\n\t\t\tif (isSerializable == true) {\r\n\t\t\t\tlet first = prop.name.substr(0, 1);\r\n\t\t\t\tfirst = first.toUpper();\r\n\r\n\t\t\t\tlet last = prop.name.substr(1, prop.name.length);\r\n\r\n\t\t\t\tlet camel = first + last;\r\n\t\t\t\t\r\n\t\t\t\tCarbon.Method.eval(\"void load\" + camel + \"(<map>array value) {this.\" + prop.name + \" = new <\" + aType.reference.route + \">array(); for (let i in value) {let val = value[i]; let insert = new \" + aType.reference.route + \"(); insert.loadFromMap(val); this.\" + prop.name + \".push(insert)}}\", cls);\r\n\t\t\t\tCarbon.Method.eval(\"map save\" + camel + \"(<\" + aType.reference.route + \">array values) {let mpArr = new <map>array(); for (let i in values) {mpArr.push(values[i].saveToMap());} return mpArr;}\", cls);\r\n\t\t\t}\r\n\t\t\tif (isSerializable == false) {\r\n\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (prop.output.reference.route == \"map\") {\r\n\t\t\trawType = \"map\";\r\n\t\t}\r\n\t\tif (prop.output.reference.route == \"bool\") {\r\n\t\t\trawType = \"boolean\";\r\n\t\t}\r\n\t}\r\n\r\n\tif (isPrimitive == false) {\r\n\t\tlet isTime = prop.output.reference.route == \"Websom.Time\";\r\n\r\n\t\tif (isTime == true) {\r\n\t\t\trawType = \"time\";\r\n\t\t\t\r\n\t\t\tlet first = prop.name.substr(0, 1);\r\n\t\t\tfirst = first.toUpper();\r\n\r\n\t\t\tlet last = prop.name.substr(1, prop.name.length);\r\n\r\n\t\t\tlet camel = first + last;\r\n\r\n\t\t\tCarbon.Method.eval(\"void load\" + camel + \"(primitive value) {this.\" + prop.name + \" = new Websom.Time(); this.\" + prop.name + \".timestamp = value;}\", cls);\r\n\t\t}\r\n\r\n\t\tif (isTime == false) {\r\n\t\t\tlet isSerializable = prop.output.reference.descendantOf(Carbon.findClass(\"Websom.Serializable\"));\r\n\t\t\tif (isSerializable == true) {\r\n\t\t\t\trawType = \"map\";\r\n\r\n\t\t\t\tlet first = prop.name.substr(0, 1);\r\n\t\t\t\tfirst = first.toUpper();\r\n\r\n\t\t\t\tlet last = prop.name.substr(1, prop.name.length);\r\n\r\n\t\t\t\tlet camel = first + last;\r\n\t\t\t\t\r\n\t\t\t\tCarbon.Method.eval(\"void load\" + camel + \"(primitive value) {this.\" + prop.name + \" = new \" + prop.output.reference.route + \"(); this.\" + prop.name + \".loadFromMap(value);}\", cls);\r\n\t\t\t\tCarbon.Method.eval(\"map save\" + camel + \"(\" + prop.output.reference.route + \" value) {return value.saveToMap();}\", cls);\r\n\t\t\t}\r\n\t\t\tif (isSerializable == false) {\r\n\t\t\t\trawType = \"reference\";\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn '.field(\"' + prop.name + '\", \"' + rawType + '\")';\r\n};\r\n\r\nlet entities = [];\r\n\r\nCarbon.on(\"inherits.Websom.Entity\", void (Carbon.Class base, Carbon.Class cls) => {\r\n\tif (Carbon.platform != \"header\") {\r\n\t\tentities.push(cls);\r\n\t}\r\n});\r\n\r\nCarbon.on(\"classes.end\", void () => {\r\n\tfor (let int i = 0; i < entities.length; i += 1) {\r\n\t\tlet entity = entities.index(i);\r\n\t\tlet members = entity.members;\r\n\r\n\t\tlet fields = [];\r\n\t\tlet int m = 0;\r\n\t\tfor (let int m = 0; m < members.length; m += 1) {\r\n\t\t\tlet member = members.index(m);\r\n\t\r\n\t\t\tif (member.hasFlag(\"field\")) {\r\n\t\t\t\tfields.push(buildFieldForMember(entity, member));\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tlet method = \"trust override fixed Websom.Adapters.Database.Schema getSchema(Websom.Adapters.Database.Collection collection) {return collection.schema()\" + fields.join(\"\") + \";}\";\r\n\t\t\r\n\t\tCarbon.Method.eval(method, entity);\r\n\t}\r\n});\r\n\r\n\r\n"}],"offset":8257,"startOffset":4545},{"type":"script","language":"Carbon","content":[{"type":"raw","offset":4412,"startOffset":1641,"content":"\r\n\r\nlet classes = [];\r\n\r\nlet buildFieldForMember = void (Carbon.Class cls, Carbon.Property prop) => {\r\n\tlet rawType = \"string\";\r\n\tlet isPrimitive = prop.output.reference.descendantOf(Carbon.findClass(\"primitive\"));\r\n\r\n\tif (isPrimitive == true) {\r\n\t\tif (prop.output.reference.route == \"string\") {\r\n\t\t\trawType = \"string\";\r\n\t\t}\r\n\t\tif (prop.output.reference.route == \"float\") {\r\n\t\t\trawType = \"float\";\r\n\t\t}\r\n\t\tif (prop.output.reference.route == \"int\") {\r\n\t\t\trawType = \"integer\";\r\n\t\t}\r\n\t\tif (prop.output.reference.route == \"array\") {\r\n\t\t\trawType = \"array\";\r\n\t\t}\r\n\t\tif (prop.output.reference.route == \"map\") {\r\n\t\t\trawType = \"map\";\r\n\t\t}\r\n\t\tif (prop.output.reference.route == \"bool\") {\r\n\t\t\trawType = \"boolean\";\r\n\t\t}\r\n\t}\r\n\r\n\tif (isPrimitive == false) {\r\n\t\tlet isTime = prop.output.reference.route == \"Websom.Time\";\r\n\r\n\t\tif (isTime == true) {\r\n\t\t\trawType = \"time\";\r\n\t\t\t\r\n\t\t\tlet first = prop.name.substr(0, 1);\r\n\t\t\tfirst = first.toUpper();\r\n\r\n\t\t\tlet last = prop.name.substr(1, prop.name.length);\r\n\r\n\t\t\tlet camel = first + last;\r\n\r\n\t\t\tCarbon.Method.eval(\"void load\" + camel + \"(primitive value) {this.\" + prop.name + \" = new Websom.Time(); this.\" + prop.name + \".timestamp = value;}\", cls);\r\n\t\t}\r\n\r\n\t\tif (isTime == false) {\r\n\t\t\tlet isSerializable = prop.output.reference.descendantOf(Carbon.findClass(\"Websom.Serializable\"));\r\n\t\t\tif (isSerializable == true) {\r\n\t\t\t\trawType = \"map\";\r\n\r\n\t\t\t\tlet first = prop.name.substr(0, 1);\r\n\t\t\t\tfirst = first.toUpper();\r\n\r\n\t\t\t\tlet last = prop.name.substr(1, prop.name.length);\r\n\r\n\t\t\t\tlet camel = first + last;\r\n\t\t\t\t\r\n\t\t\t\tCarbon.Method.eval(\"void load\" + camel + \"(primitive value) {this.\" + prop.name + \" = new \" + prop.output.reference.route + \"(); this.\" + prop.name + \".loadFromMap(value);}\", cls);\r\n\t\t\t\tCarbon.Method.eval(\"map save\" + camel + \"(\" + prop.output.reference.route + \" value) {return value.saveToMap();}\", cls);\r\n\t\t\t}\r\n\t\t\tif (isSerializable == false) {\r\n\t\t\t\trawType = \"reference\";\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn '.field(\"' + prop.name + '\", \"' + rawType + '\")';\r\n};\r\n\r\nCarbon.on(\"inherits.Websom.Serializable\", void (Carbon.Class base, Carbon.Class cls) => {\r\n\tif (Carbon.platform != \"header\") {\r\n\t\tclasses.push(cls);\r\n\t}\r\n});\r\n\r\nCarbon.on(\"classes.end\", void () => {\r\n\tfor (let int i = 0; i < classes.length; i += 1) {\r\n\t\tlet cls = classes.index(i);\r\n\t\tlet members = cls.members;\r\n\r\n\t\tlet fields = [];\r\n\t\tlet int m = 0;\r\n\t\tfor (let int m = 0; m < members.length; m += 1) {\r\n\t\t\tlet member = members.index(m);\r\n\t\r\n\t\t\tif (member.hasFlag(\"field\")) {\r\n\t\t\t\tfields.push(buildFieldForMember(cls, member));\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tlet method = \"trust override Websom.Adapters.Database.Schema getSchema() {let schema = new Websom.Adapters.Database.Schema(null); return schema\" + fields.join(\"\") + \";}\";\r\n\t\t\r\n\t\tCarbon.Method.eval(method, cls);\r\n\t}\r\n});\r\n\r\n"}],"offset":4422,"startOffset":1627},{"type":"script","language":"Carbon","content":[{"type":"raw","offset":449,"startOffset":112,"content":"\r\n\r\nvar register = void (string module) => {\r\n\tif (typeOf(websomRegister) != \"null\")\r\n\t\twebsomRegister(module);\r\n};\r\n\r\nCarbon.on(\"inherits.Websom.Module\", bool (Carbonite.Class base, Carbonite.Class module) => {\r\n\tprint(\"Inherits from module \" + module.route);\r\n\tif (module.route != \"Websom.StandardModule\")\r\n\t\tregister(module);\r\n});\r\n\r\n"}],"offset":459,"startOffset":98}]}