@olympeio/runtime-web 9.0.3 → 9.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"rootTag":"100000000000000000dd","operations":[{"o":2,"t":"0163d9653067b6237f62","p":{"ff023000000000000001":"guest","ff023000000000000004":"
|
|
1
|
+
{"rootTag":"100000000000000000dd","operations":[{"o":2,"t":"0163d9653067b6237f62","p":{"ff023000000000000001":"guest","ff023000000000000004":"e28791bfaab043b0f03c950b04f5b54c2c45ac413aa71b81d75f75bc77d19ee0","ff023000000000000005":"3ce3f5cd59dbda26c99d34b9f60588f6ebb87f6552afd1ad7cc268e83385dd2f3ce755edb7efc5e8e3d3b094dc147cd5e20b6f7f5d49f61ba6d8b4dd2365309170eb3beddbc6a2d8aeba4b126749a33e44c0cae1362f597c4f8693dd01880d698217c76f935f115f648ca0425b610b6f0c6ab26e22ff92b193efce8f51735e1606caca4af2598f8adc98f7af582accbaa4bd9f4823325ad957792675fb9933aea8f5621f1a77ee43240c755563ad664952ea7074bdf8c548e2d938968f8b0448e82123d2ee81873f47c172cb0f4dc1b05312de2befc2ad6889f8926d6deb716095e9ed89704b4ef46950032eaa71d7eeb884b511509b3397535f8af0748366a3"},"i":30}],"optionalOperations":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"rootTag":"10000000000000000000","operations":[{"o":1,"t":"10000000000000000000","p":{"ff023000000000000011":"Home"},"i":15},{"o":1,"t":"100000000000000000dd","p":{"017869c7d2833c9492c1":"@olympeio/runtime","017869c80bb9929c76d0":"9.0.
|
|
1
|
+
{"rootTag":"10000000000000000000","operations":[{"o":1,"t":"10000000000000000000","p":{"ff023000000000000011":"Home"},"i":15},{"o":1,"t":"100000000000000000dd","p":{"017869c7d2833c9492c1":"@olympeio/runtime","017869c80bb9929c76d0":"9.0.4","ff023000000000000011":"Primordial"},"i":26}],"optionalOperations":[{"o":1,"t":"10000000000000000001","p":{"ff023000000000000011":"Olympe"},"i":18}]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"rootTag":"100000000000000000dd","operations":[{"o":1,"t":"011100000000000adef0","p":{"ff023000000000000011":"Function Signature"},"i":276},{"o":1,"t":"011100000001000adef0","p":{"01703376c4a81c0e9d92":"A function signature defines the inputs and outputs, with names and types, of a function, but does not provide an implementation.Function signatures can be used to define the type of a function input or output or of a visual component property.A signature for functions"},"i":277},{"o":1,"t":"0112000000000000def0","p":{"fd01692aa71f3108454479":false,"ff023000000000000011":"Runnable Definition"},"i":293},{"o":1,"t":"01120300000000adef00","p":{"ff023000000000000011":"Application Definition","ff023000000000000012":true},"i":453},{"o":1,"t":"011203300000000adee0","p":{"ff023000000000000011":"dependencies"},"i":469},{"o":1,"t":"011203300000000adef3","p":{"ff023000000000000011":"Service App"},"i":475},{"o":1,"t":"011203300000000adef4","p":{"ff023000000000000011":"Deployment Info","ff023000000000000030":514,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":6,"ff023000000000000237":2,"ff023000000000000337":2},"i":475},{"o":1,"t":"011203300000000adef5","p":{"fd011203300000000adef6":false,"fd011203300000000adef7":false,"fd011203300000000adef8":0,"ff023000000000000011":"Deployment Info"},"i":469},{"o":1,"t":"011203300000000adef6","p":{"ff023000000000000011":"activated"},"i":469},{"o":1,"t":"011203300000000adef7","p":{"ff023000000000000011":"rebuild"},"i":469},{"o":1,"t":"011203300000000adef8","p":{"ff023000000000000011":"status"},"i":469},{"o":1,"t":"011203300000000adef9","p":{"ff023000000000000011":"last error"},"i":469},{"o":1,"t":"011203300000000adefa","p":{"ff023000000000000011":"project URL"},"i":469},{"o":1,"t":"011203300000000adefb","p":{"ff023000000000000011":"project branch"},"i":469},{"o":1,"t":"011203300000000adefc","p":{"ff023000000000000011":"build command"},"i":469},{"o":1,"t":"011203300000000adefd","p":{"ff023000000000000011":"project config"},"i":469},{"o":1,"t":"011203300000000adefe","p":{"ff023000000000000011":"logs"},"i":469},{"o":1,"t":"011203300000000adeff","p":{"ff023000000000000011":"port mappings"},"i":469},{"o":1,"t":"011203300000000adf00","p":{"fd011203300000000adf01":0,"fd011203300000000adf02":20000,"ff023000000000000011":"System Information"},"i":445},{"o":1,"t":"011203300000000adf01","p":{"ff023000000000000011":"appController timestamp"},"i":445},{"o":1,"t":"011203300000000adf02","p":{"ff023000000000000011":"appController heart rate"},"i":445},{"o":1,"t":"011203300000000adf0f","p":{},"i":447},{"o":1,"t":"011203300001000adef3","p":{"01703376c4a81c0e9d91":"A headless (with no UI) application.","01703376c4a81c0e9d92":"Service Apps are back-end applications that are meant to be run on servers or IoT devices that do not have screens. They run in the background and are typically used to capture data from a third party, process data, perform data input validation, etc."},"i":476},{"o":1,"t":"01130000000000ca1100","p":{"ff023000000000000011":"Runnable","ff023000000000000012":true},"i":303},{"o":1,"t":"0113030000000aca1100","p":{"ff023000000000000011":"Application","ff023000000000000012":true},"i":498},{"o":1,"t":"0113032000000aca1102","p":{"ff023000000000000011":"Headless Application","ff023000000000000012":true},"i":502},{"o":1,"t":"01621fb84e32000000a0","p":{"01621fb84e320000f001":"private","ff023000000000000011":"Ascender"},"i":374},{"o":1,"t":"01621fb84e32000000a1","p":{"ff023000000000000011":"Input","ff023000000000000030":514,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":10,"ff023000000000000237":2,"ff023000000000000337":2},"i":374},{"o":1,"t":"01621fb84e32000000a2","p":{"ff023000000000000011":"Upward","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":10,"ff023000000000000237":1,"ff023000000000000337":2},"i":374},{"o":1,"t":"01621fb84e32000000d0","p":{"01621fb84e320000f001":"private","ff023000000000000011":"Descender"},"i":380},{"o":1,"t":"01621fb84e32000000d1","p":{"ff023000000000000011":"Downward","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":10,"ff023000000000000237":1,"ff023000000000000337":2},"i":380},{"o":1,"t":"01621fb84e32000000d2","p":{"ff023000000000000011":"Output","ff023000000000000030":514,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":10,"ff023000000000000237":2,"ff023000000000000337":2},"i":380},{"o":1,"t":"01621fb84e320000a000","p":{"ff023000000000000011":"Action"},"i":390},{"o":1,"t":"01621fb84e320000cf00","p":{"ff023000000000000011":"Control Flow"},"i":233},{"o":1,"t":"01621fb84e320000f000","p":{"ff023000000000000011":"Function"},"i":330},{"o":1,"t":"01621fb84e320000f00a","p":{"ff023000000000000011":"Inputs","ff023000000000000030":514,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":6,"ff023000000000000237":2,"ff023000000000000337":2},"i":293},{"o":1,"t":"01621fb84e320000f00b","p":{"ff023000000000000011":"Outputs","ff023000000000000030":514,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":6,"ff023000000000000237":2,"ff023000000000000337":2},"i":293},{"o":1,"t":"01621fb84e320000f011","p":{"ff023000000000000011":"Coded Function"},"i":341},{"o":1,"t":"01621fb84e320000f012","p":{"ff023000000000000011":"Coded Action"},"i":398},{"o":1,"t":"01621fb84e330000a000","p":{"01703376c4a81c0e9d91":"A function triggered by a control flow.","01703376c4a81c0e9d92":"An action is a function that is executed only when the incoming control flow is triggered and all its inputs have a value. Once it has updated all its outputs, it will trigger the outgoing control flow."},"i":391},{"o":1,"t":"01621fb84e330000f000","p":{"01703376c4a81c0e9d91":"A function takes inputs and produces outputs.","01703376c4a81c0e9d92":"A function is the basic bloc for creating automation. It takes some inputs and produces outputs.\nFor instance the addition is a function that takes 2 numbers as inputs an produces, as output, a number that is the sum of these 2 inputs."},"i":331},{"o":1,"t":"01621fb84e330000f011","p":{"01703376c4a81c0e9d91":"A function takes inputs and produces outputs.","01703376c4a81c0e9d92":"A function is the basic bloc for creating automation. It takes some inputs and produces outputs.\nFor instance the addition is a function that takes 2 numbers as inputs an produces, as output, a number that is the sum of these 2 inputs. A coded function needs to be implemented with code (e.g.: javascript) and deployed to be functional."},"i":342},{"o":1,"t":"01621fb84e330000f012","p":{"01703376c4a81c0e9d91":"A coded function triggered by a control flow.","01703376c4a81c0e9d92":"An action is a function that is executed only when the incoming control flow is triggered and all its inputs have a value. Once it has updated all its outputs, it will trigger the outgoing control flow.A Coded action needs to be implemented with code (e.g.: javascript) and deployed to be functional."},"i":399},{"o":1,"t":"0162f15740c36629dc57","p":{"ff023000000000000011":"description"},"i":330},{"o":1,"t":"0162f672366be5ca7a86","p":{"ff023000000000000011":"Type"},"i":134},{"o":1,"t":"01631aacd5c1f9d61c5d","p":{"ff023000000000000011":"Map"},"i":138},{"o":1,"t":"01631aacd5c2f9d61c5d","p":{"01703376c4a81c0e9d91":"An ordered collection of key-value pairs.","01703376c4a81c0e9d92":"A Map is a collection of values. Each value has a unique key and can be accessed through that key."},"i":139},{"o":1,"t":"01631aacd8276ea98490","p":{"ff023000000000000011":"List"},"i":146},{"o":1,"t":"01631aacd8276ea98491","p":{"ff023000000000000011":"Array"},"i":163},{"o":1,"t":"01631aacd8276ea98492","p":{"ff023000000000000011":"Query Result"},"i":173},{"o":1,"t":"01631aacd8276ea98493","p":{"ff023000000000000011":"Query"},"i":183},{"o":1,"t":"01631aacd8276ea98494","p":{"ff023000000000000011":"Filter Type"},"i":191},{"o":1,"t":"01631aacd8276ea98495","p":{"ff023000000000000011":"Sort Direction"},"i":199},{"o":1,"t":"01631aacd8276ea98496","p":{"017a7690c915975ea995":0,"ff023000000000000011":"equals","ff023000000000000026":"equals"},"i":215},{"o":1,"t":"01631aacd8276ea98497","p":{"017a7690c915975ea995":1,"ff023000000000000011":"different","ff023000000000000026":"different"},"i":216},{"o":1,"t":"01631aacd8276ea98498","p":{"017a7690c915975ea995":2,"ff023000000000000011":"contains","ff023000000000000026":"contains"},"i":217},{"o":1,"t":"01631aacd8276ea98499","p":{"017a7690c915975ea995":3,"ff023000000000000011":"greater than","ff023000000000000026":"greater than"},"i":218},{"o":1,"t":"01631aacd8276ea9849a","p":{"017a7690c915975ea995":4,"ff023000000000000011":"greater or equals","ff023000000000000026":"greater or equals"},"i":219},{"o":1,"t":"01631aacd8276ea9849b","p":{"017a7690c915975ea995":5,"ff023000000000000011":"smaller than","ff023000000000000026":"smaller than"},"i":220},{"o":1,"t":"01631aacd8276ea9849c","p":{"017a7690c915975ea995":6,"ff023000000000000011":"smaller or equals","ff023000000000000026":"smaller or equals"},"i":221},{"o":1,"t":"01631aacd8276ea9849d","p":{"017a7690c915975ea995":7,"ff023000000000000011":"regexp","ff023000000000000026":"regexp"},"i":222},{"o":1,"t":"01631aacd8276ea9849e","p":{"017a7690c915975ea995":0,"ff023000000000000011":"ascending","ff023000000000000026":"ascending"},"i":224},{"o":1,"t":"01631aacd8276ea9849f","p":{"017a7690c915975ea995":1,"ff023000000000000011":"descending","ff023000000000000026":"descending"},"i":225},{"o":1,"t":"01631aacd8286ea98490","p":{"01703376c4a81c0e9d91":"An ordered collection of objects.","01703376c4a81c0e9d92":"A **List** is a collection of objects of the same type (e.g. a list of strings). It can be accessed sequentially (one entry after the other) or directly by specifying the rank of the entry (e.g. the 3rd entry).\nThis is similar to arrays in programming languages."},"i":147},{"o":1,"t":"01631aacd8286ea98491","p":{"01703376c4a81c0e9d91":"A mutable ordered collection of objects.","01703376c4a81c0e9d92":"An **Array** is a collection of objects of the same type (e.g. a list of strings). It can be accessed sequentially (one entry after the other) or directly by specifying the rank of the entry (e.g. the 3rd entry).\nThis is similar to arrays in programming languages."},"i":164},{"o":1,"t":"01631aacd8286ea98492","p":{"01703376c4a81c0e9d91":"An ordered collection of objects.","01703376c4a81c0e9d92":"A **QueryResult** is a collection of objects of the same type (e.g. a list of strings). It can be accessed sequentially (one entry after the other) or directly by specifying the rank of the entry (e.g. the 3rd entry).\nThis is similar to arrays in programming languages."},"i":174},{"o":1,"t":"01631aacd8286ea98493","p":{"01703376c4a81c0e9d91":"TODO","01703376c4a81c0e9d92":"TODO"},"i":184},{"o":1,"t":"01631aacd8286ea98494","p":{"01703376c4a81c0e9d91":"TODO","01703376c4a81c0e9d92":"TODO"},"i":192},{"o":1,"t":"01631aacd8286ea98495","p":{"01703376c4a81c0e9d91":"TODO","01703376c4a81c0e9d92":"TODO"},"i":200},{"o":1,"t":"016324fde11a836f76c2","p":{"ff023000000000000011":"Data Type"},"i":40},{"o":1,"t":"016324fde11b836f76c2","p":{"01703376c4a81c0e9d91":"An application specific data structure.","01703376c4a81c0e9d92":"A data type let you specify a complex data structure which contains a number of properties an relations.\nThis is very similar to the concept of 'Class' in object-oriented programming languages."},"i":41},{"o":1,"t":"0163a68ce44f3d1fa84c","p":{"ff023000000000000011":"Data Model"},"i":49},{"o":1,"t":"0163a68ce4503d1fa84c","p":{"01703376c4a81c0e9d91":"A set of data types.","01703376c4a81c0e9d92":"A **Data Model** is where you define the data structures, called **Data Types**, that your applications will manipulate (e.g. Customer, Receipt, Order, etc...). A project can have multiple **Data Models**."},"i":50},{"o":1,"t":"0163c9ae01f2d6e9ca49","p":{"ff023000000000000011":"ObjectRef"},"i":122},{"o":1,"t":"0163c9ae0401d21eb0c3","p":{"ff023000000000000011":"objectTag"},"i":122},{"o":1,"t":"016421bb3797e22d1c4e","p":{"ff023000000000000011":"Video Stream"},"i":130},{"o":1,"t":"01644b6297305d62fca2","p":{"ff023000000000000011":"Image File"},"i":74},{"o":1,"t":"01644b6297315d62fca2","p":{"01703376c4a81c0e9d91":"A file containing an image.","01703376c4a81c0e9d92":"An image file contains a binary encoded image. Supported formats are jpeg, png and gif."},"i":75},{"o":1,"t":"01644b6d4543b344b857","p":{"ff023000000000000011":"Media Library"},"i":66},{"o":1,"t":"01644b6d4544b344b857","p":{"01703376c4a81c0e9d91":"A repository for media resources.","01703376c4a81c0e9d92":"A **Media Library** is a set of assets like fonts & images that can be used by the project it belongs to."},"i":67},{"o":1,"t":"01645fe6873aeea59e64","p":{"ff023000000000000011":"Data Set"},"i":29},{"o":1,"t":"01645fe6873beea59e64","p":{"01703376c4a81c0e9d91":"Set of data records.","01703376c4a81c0e9d92":"**Data Sets** are used to create data records that will be available in the applications at runtime.\nCompared to business data created at runtime, records inside **Data Sets** are saved during the export of the project, as part of the application data.\nFor example this is where you would create initial entries of your **Customer** data types."},"i":30},{"o":1,"t":"0164643c432146a71d5c","p":{"ff023000000000000011":"Video File"},"i":105},{"o":1,"t":"0164643c432246a71d5c","p":{"01703376c4a81c0e9d91":"A file containing a video recording.","01703376c4a81c0e9d92":"An video file contains a binary encoded video. Supported formats are mp4, mpeg and avi."},"i":106},{"o":1,"t":"01647e113043c637b541","p":{"fd01647e677f5d1cfbdf42":"normal","fd01647e6780999bf8bd25":300,"ff023000000000000011":"Font File"},"i":98},{"o":1,"t":"01647e113044c637b541","p":{"01703376c4a81c0e9d91":"A file containing a font definition.","01703376c4a81c0e9d92":"A font file contains a set of graphically related used to display strings on the screen.\n Supported formats are: woff & woff2"},"i":99},{"o":1,"t":"01647e35ecd24ef0b88d","p":{"ff023000000000000011":"Font Family"},"i":98},{"o":1,"t":"01647e677f5d1cfbdf42","p":{"ff023000000000000011":"Font Style"},"i":98},{"o":1,"t":"01647e6780999bf8bd25","p":{"ff023000000000000011":"Font Weight"},"i":98},{"o":1,"t":"0166446c1f128ebc903a","p":{"ff023000000000000011":"On Load"},"i":293},{"o":1,"t":"0168a431d25001540000","p":{"ff023000000000000011":"Runnable IO","ff023000000000000012":true},"i":257},{"o":1,"t":"0168a431d25001540001","p":{"ff023000000000000011":"Runnable Input"},"i":262},{"o":1,"t":"0168a431d25001540002","p":{"ff023000000000000011":"Runnable Output"},"i":265},{"o":1,"t":"0168a431d3b9b7438424","p":{"ff023000000000000011":"Type IO","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":9,"ff023000000000000237":1,"ff023000000000000337":1},"i":257},{"o":1,"t":"0168a431d91f25780000","p":{"ff023000000000000011":"Pipe"},"i":366},{"o":1,"t":"0168a431d91f25780001","p":{"ff023000000000000011":"Source Value"},"i":366},{"o":1,"t":"0168a431d91f25780002","p":{"ff023000000000000011":"Source Scope","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":9,"ff023000000000000237":2,"ff023000000000000337":1},"i":366},{"o":1,"t":"0168a431d91f25780003","p":{"ff023000000000000011":"Source Output","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":9,"ff023000000000000237":2,"ff023000000000000337":1},"i":366},{"o":1,"t":"0168a431d91f25780004","p":{"ff023000000000000011":"Source Property","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":9,"ff023000000000000237":2,"ff023000000000000337":1},"i":366},{"o":1,"t":"0168a431d91f2578000a","p":{"ff023000000000000011":"Destination Scope","ff023000000000000030":514,"ff023000000000000031":992,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":9,"ff023000000000000237":10,"ff023000000000000337":1},"i":366},{"o":1,"t":"0168a431d91f2578000b","p":{"ff023000000000000011":"Destination Input","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":9,"ff023000000000000237":2,"ff023000000000000337":1},"i":366},{"o":1,"t":"0168a431d91f2578000c","p":{"ff023000000000000011":"Destination Property","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":9,"ff023000000000000237":2,"ff023000000000000337":1},"i":366},{"o":1,"t":"0168c6f020f2a96a0000","p":{"ff023000000000000011":"Action Call","ff023000000000000012":true},"i":407},{"o":1,"t":"0168c6f020f2a96f0000","p":{"ff023000000000000011":"Function Call","ff023000000000000012":true},"i":352},{"o":1,"t":"01692a4af82e8984742b","p":{"ff023000000000000011":"Definition of runnable","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":9,"ff023000000000000237":2,"ff023000000000000337":1},"i":303},{"o":1,"t":"01692a4af82e8984742c","p":{"ff023000000000000011":"Calls Runnable","ff023000000000000030":514,"ff023000000000000031":31,"ff023000000000000034":4,"ff023000000000000037":6,"ff023000000000000137":6,"ff023000000000000237":2,"ff023000000000000337":6},"i":306},{"o":1,"t":"01692a4af82e8984742d","p":{"ff023000000000000011":"Conditional Calls Runnable","ff023000000000000030":514,"ff023000000000000031":31,"ff023000000000000034":4,"ff023000000000000037":6,"ff023000000000000137":6,"ff023000000000000237":1,"ff023000000000000337":6},"i":307},{"o":1,"t":"01692a4af82e8984742e","p":{"ff023000000000000011":"Extra Calls Runnable","ff023000000000000030":514,"ff023000000000000031":31,"ff023000000000000034":4,"ff023000000000000037":4,"ff023000000000000137":6,"ff023000000000000237":2,"ff023000000000000337":4},"i":308},{"o":1,"t":"01692aa71f3108454479","p":{"ff023000000000000011":"hardcoded"},"i":293},{"o":1,"t":"0169b5a8a33144fb0b49","p":{"ff023000000000000011":"reference","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":9,"ff023000000000000237":2,"ff023000000000000337":1},"i":122},{"o":1,"t":"016a9766c230916ea5ec","p":{"ff023000000000000011":"Service"},"i":412},{"o":1,"t":"016a9766c231916ea5ec","p":{"01703376c4a81c0e9d91":"A function to be run in a Service Application.","01703376c4a81c0e9d92":"A `Service` is a function meant to be run inside a headless application."},"i":413},{"o":1,"t":"016ac4f59a2917fdef01","p":{"ff023000000000000011":"Predefined Inputs rel","ff023000000000000030":514,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":6,"ff023000000000000237":2,"ff023000000000000337":2},"i":276},{"o":1,"t":"016ac4f59a2917fdef02","p":{"ff023000000000000011":"Predefined Outputs rel","ff023000000000000030":514,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":6,"ff023000000000000237":2,"ff023000000000000337":2},"i":276},{"o":1,"t":"016ac4f59c592b862457","p":{"ff023000000000000011":"Predefined Input"},"i":247},{"o":1,"t":"016ac4f59dd99f5df3e1","p":{"ff023000000000000011":"Predefined Output"},"i":250},{"o":1,"t":"016ac4f59ee8ea2081ba","p":{"ff023000000000000011":"Predefined IO","ff023000000000000012":true},"i":244},{"o":1,"t":"016ac4f5a0091c4790e2","p":{"ff023000000000000011":"Predefined Type IO","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":9,"ff023000000000000237":1,"ff023000000000000337":1},"i":244},{"o":1,"t":"016ac63229782039429f","p":{"017bc044aeacce7ffc8f":0,"ff023000000000000011":"Control Flow"},"i":390},{"o":1,"t":"016ac6322acf67eebfe7","p":{"017bc044aeacce7ffc8f":0,"ff023000000000000011":"Control Flow"},"i":390},{"o":1,"t":"016ac63c5b3ed0562740","p":{"017bc044aeacce7ffc8f":0,"ff023000000000000011":"Control Flow"},"i":412},{"o":1,"t":"016c2d996d9ca27fa9d8","p":{"ff023000000000000011":"Delegate","ff023000000000000012":true},"i":315},{"o":1,"t":"016c3cb7742ec9309e0b","p":{"ff023000000000000011":"Delegator Relation","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":5,"ff023000000000000237":1,"ff023000000000000337":1},"i":315},{"o":1,"t":"016c42d3454636f90533","p":{"ff023000000000000011":"Delegated Properties","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":5,"ff023000000000000237":1,"ff023000000000000337":1},"i":315},{"o":1,"t":"016cfca73e63f9ab5ba4","p":{"ff023000000000000011":"Text"},"i":155},{"o":1,"t":"016d3f37610ae4fc3962","p":{"ff023000000000000011":"SizeDelegator"},"i":318},{"o":1,"t":"016eb13ba1388f7bdd71","p":{"ff023000000000000011":"picture_default","ff023000000000000050":"picture_default.svg","ff023000000000000051":{"c":4,"h":13,"m":49,"s":47,"S":188,"z":0,"y":2022,"M":5,"d":4},"ff023000000000000052":"image/svg+xml","ff023000000000000053":"images/picture_default.svg","ff023000000000000054":false,"ff023000000000000055":{"c":4,"h":13,"m":49,"s":47,"S":188,"z":0,"y":2022,"M":5,"d":4}},"i":89},{"o":1,"t":"016eeb5ede9f3094d8f0","p":{"ff023000000000000011":"Error Flow"},"i":237},{"o":1,"t":"0171838bcfed0000a00a","p":{"ff023000000000000011":"Auxiliary model","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":0,"ff023000000000000137":5,"ff023000000000000237":2,"ff023000000000000337":0},"i":293},{"o":1,"t":"0171838bcfed0000e00e","p":{"ff023000000000000011":"Super Definition","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":5,"ff023000000000000237":2,"ff023000000000000337":1},"i":293},{"o":1,"t":"0171bc1f15da96dfdb89","p":{"ff023000000000000011":"app project import","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":5,"ff023000000000000237":2,"ff023000000000000337":1},"i":453},{"o":1,"t":"01740c5d4ae4b520dd01","p":{"ff023000000000000011":"IO Rank"},"i":257},{"o":1,"t":"01740c5d4ae4b520dd02","p":{"ff023000000000000011":"Default Value"},"i":262},{"o":1,"t":"01756a18d4921c103111","p":{"ff023000000000000011":"Anonymous definition","ff023000000000000030":514,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":10,"ff023000000000000137":10,"ff023000000000000237":2,"ff023000000000000337":10},"i":303},{"o":1,"t":"017a7a9ff057958e5678","p":{"ff023000000000000011":"Enums"},"i":15},{"o":1,"t":"017a7a9ff058958e5678","p":{"01703376c4a81c0e9d91":"A folder for grouping enums.","01703376c4a81c0e9d92":"A Enum Folder is a group of 1 or more enums, it is linked to the Enum Editor."},"i":16},{"o":1,"t":"017a7b07a948e30508fa","p":{"ff023000000000000011":"Remote Action"},"i":424},{"o":1,"t":"017a7b07a949e30508fa","p":{"01703376c4a81c0e9d91":"A remote function triggered by a control flow.","01703376c4a81c0e9d92":"A remote action is a function that is executed only when the incoming control flow is triggered and all its inputs have a value. Once it has updated all its outputs, it will trigger the outgoing control flow. It is executed on a remote service."},"i":425},{"o":1,"t":"017a7b07b09e3b22c8b4","p":{"017bc044aeacce7ffc8f":0,"ff023000000000000011":"Control Flow"},"i":424},{"o":1,"t":"017a7b07ba05807a74b0","p":{"017bc044aeacce7ffc8f":1,"ff023000000000000011":"User"},"i":424},{"o":1,"t":"017a7b0818c12388d731","p":{"017bc044aeacce7ffc8f":0,"ff023000000000000011":"Control Flow"},"i":424},{"o":1,"t":"017a7b085146d5e69aec","p":{"017bc044aeacce7ffc8f":1,"ff023000000000000011":"Error Flow"},"i":424},{"o":1,"t":"017a7b0c5dcbd8964c5d","p":{"fd017a7b0c62a02a89444f":false,"ff023000000000000011":"Remote Action Call","ff023000000000000012":true},"i":434},{"o":1,"t":"017a7b0c62a02a89444f","p":{"ff023000000000000011":"listener"},"i":434},{"o":1,"t":"017b3aa8fae1e3d044dc","p":{"ff023000000000000011":"Business Container"},"i":60},{"o":1,"t":"017b3aa8fd1659291b92","p":{"ff023000000000000011":"business container to project","ff023000000000000030":514,"ff023000000000000031":992,"ff023000000000000034":0,"ff023000000000000037":9,"ff023000000000000137":9,"ff023000000000000237":0,"ff023000000000000337":9},"i":60},{"o":1,"t":"017b3aa8fe7ec3fd52f2","p":{"ff023000000000000011":"business container to runtime objects","ff023000000000000030":514,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":0,"ff023000000000000137":6,"ff023000000000000237":2,"ff023000000000000337":0},"i":60},{"o":1,"t":"017bc044aeacce7ffc8f","p":{"ff023000000000000011":"Predefined IO Rank"},"i":244},{"o":1,"t":"017dc8c114aa61a0e27f","p":{"ff023000000000000011":"DBConnector","ff023000000000000012":true},"i":493},{"o":1,"t":"017dc8d6c8fd8c8bd2f0","p":{"ff023000000000000011":"DBConnectorDefinition"},"i":487},{"o":1,"t":"017dc8d6d8ef9135f08a","p":{"ff023000000000000011":"DBConnector to business models","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":5,"ff023000000000000237":2,"ff023000000000000337":1},"i":493},{"o":1,"t":"017dc8d6d8ef9135f08b","p":{"ff023000000000000011":"DBConnector to projects","ff023000000000000030":514,"ff023000000000000031":992,"ff023000000000000034":0,"ff023000000000000037":8,"ff023000000000000137":9,"ff023000000000000237":8,"ff023000000000000337":8},"i":493},{"o":1,"t":"017dc92292107fb98b21","p":{"017bc044aeacce7ffc8f":0,"ff023000000000000011":"ID"},"i":487},{"o":1,"t":"017ed8ac775f48d4d589","p":{"ff023000000000000011":"dataRel","ff023000000000000030":16,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":6,"ff023000000000000237":0,"ff023000000000000337":2},"i":29}],"optionalOperations":[]}
|
|
1
|
+
{"rootTag":"100000000000000000dd","operations":[{"o":1,"t":"011100000000000adef0","p":{"ff023000000000000011":"Function Signature"},"i":276},{"o":1,"t":"011100000001000adef0","p":{"01703376c4a81c0e9d92":"A function signature defines the inputs and outputs, with names and types, of a function, but does not provide an implementation.Function signatures can be used to define the type of a function input or output or of a visual component property.A signature for functions"},"i":277},{"o":1,"t":"0112000000000000def0","p":{"fd01692aa71f3108454479":false,"ff023000000000000011":"Runnable Definition"},"i":293},{"o":1,"t":"01120300000000adef00","p":{"ff023000000000000011":"Application Definition","ff023000000000000012":true},"i":453},{"o":1,"t":"011203300000000adee0","p":{"ff023000000000000011":"dependencies"},"i":469},{"o":1,"t":"011203300000000adef3","p":{"ff023000000000000011":"Service App"},"i":475},{"o":1,"t":"011203300000000adef4","p":{"ff023000000000000011":"Deployment Info","ff023000000000000030":514,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":6,"ff023000000000000237":2,"ff023000000000000337":2},"i":475},{"o":1,"t":"011203300000000adef5","p":{"fd011203300000000adef6":false,"fd011203300000000adef7":false,"fd011203300000000adef8":0,"ff023000000000000011":"Deployment Info"},"i":469},{"o":1,"t":"011203300000000adef6","p":{"ff023000000000000011":"activated"},"i":469},{"o":1,"t":"011203300000000adef7","p":{"ff023000000000000011":"rebuild"},"i":469},{"o":1,"t":"011203300000000adef8","p":{"ff023000000000000011":"status"},"i":469},{"o":1,"t":"011203300000000adef9","p":{"ff023000000000000011":"last error"},"i":469},{"o":1,"t":"011203300000000adefa","p":{"ff023000000000000011":"project URL"},"i":469},{"o":1,"t":"011203300000000adefb","p":{"ff023000000000000011":"project branch"},"i":469},{"o":1,"t":"011203300000000adefc","p":{"ff023000000000000011":"build command"},"i":469},{"o":1,"t":"011203300000000adefd","p":{"ff023000000000000011":"project config"},"i":469},{"o":1,"t":"011203300000000adefe","p":{"ff023000000000000011":"logs"},"i":469},{"o":1,"t":"011203300000000adeff","p":{"ff023000000000000011":"port mappings"},"i":469},{"o":1,"t":"011203300000000adf00","p":{"fd011203300000000adf01":0,"fd011203300000000adf02":20000,"ff023000000000000011":"System Information"},"i":445},{"o":1,"t":"011203300000000adf01","p":{"ff023000000000000011":"appController timestamp"},"i":445},{"o":1,"t":"011203300000000adf02","p":{"ff023000000000000011":"appController heart rate"},"i":445},{"o":1,"t":"011203300000000adf0f","p":{},"i":447},{"o":1,"t":"011203300001000adef3","p":{"01703376c4a81c0e9d91":"A headless (with no UI) application.","01703376c4a81c0e9d92":"Service Apps are back-end applications that are meant to be run on servers or IoT devices that do not have screens. They run in the background and are typically used to capture data from a third party, process data, perform data input validation, etc."},"i":476},{"o":1,"t":"01130000000000ca1100","p":{"ff023000000000000011":"Runnable","ff023000000000000012":true},"i":303},{"o":1,"t":"0113030000000aca1100","p":{"ff023000000000000011":"Application","ff023000000000000012":true},"i":498},{"o":1,"t":"0113032000000aca1102","p":{"ff023000000000000011":"Headless Application","ff023000000000000012":true},"i":502},{"o":1,"t":"01621fb84e32000000a0","p":{"01621fb84e320000f001":"private","ff023000000000000011":"Ascender"},"i":374},{"o":1,"t":"01621fb84e32000000a1","p":{"ff023000000000000011":"Input","ff023000000000000030":514,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":10,"ff023000000000000237":2,"ff023000000000000337":2},"i":374},{"o":1,"t":"01621fb84e32000000a2","p":{"ff023000000000000011":"Upward","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":10,"ff023000000000000237":1,"ff023000000000000337":2},"i":374},{"o":1,"t":"01621fb84e32000000d0","p":{"01621fb84e320000f001":"private","ff023000000000000011":"Descender"},"i":380},{"o":1,"t":"01621fb84e32000000d1","p":{"ff023000000000000011":"Downward","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":10,"ff023000000000000237":1,"ff023000000000000337":2},"i":380},{"o":1,"t":"01621fb84e32000000d2","p":{"ff023000000000000011":"Output","ff023000000000000030":514,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":10,"ff023000000000000237":2,"ff023000000000000337":2},"i":380},{"o":1,"t":"01621fb84e320000a000","p":{"ff023000000000000011":"Action"},"i":390},{"o":1,"t":"01621fb84e320000cf00","p":{"ff023000000000000011":"Control Flow"},"i":233},{"o":1,"t":"01621fb84e320000f000","p":{"ff023000000000000011":"Function"},"i":330},{"o":1,"t":"01621fb84e320000f00a","p":{"ff023000000000000011":"Inputs","ff023000000000000030":514,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":6,"ff023000000000000237":2,"ff023000000000000337":2},"i":293},{"o":1,"t":"01621fb84e320000f00b","p":{"ff023000000000000011":"Outputs","ff023000000000000030":514,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":6,"ff023000000000000237":2,"ff023000000000000337":2},"i":293},{"o":1,"t":"01621fb84e320000f011","p":{"ff023000000000000011":"Coded Function"},"i":341},{"o":1,"t":"01621fb84e320000f012","p":{"ff023000000000000011":"Coded Action"},"i":398},{"o":1,"t":"01621fb84e330000a000","p":{"01703376c4a81c0e9d91":"A function triggered by a control flow.","01703376c4a81c0e9d92":"An action is a function that is executed only when the incoming control flow is triggered and all its inputs have a value. Once it has updated all its outputs, it will trigger the outgoing control flow."},"i":391},{"o":1,"t":"01621fb84e330000f000","p":{"01703376c4a81c0e9d91":"A function takes inputs and produces outputs.","01703376c4a81c0e9d92":"A function is the basic bloc for creating automation. It takes some inputs and produces outputs.\nFor instance the addition is a function that takes 2 numbers as inputs an produces, as output, a number that is the sum of these 2 inputs."},"i":331},{"o":1,"t":"01621fb84e330000f011","p":{"01703376c4a81c0e9d91":"A function takes inputs and produces outputs.","01703376c4a81c0e9d92":"A function is the basic bloc for creating automation. It takes some inputs and produces outputs.\nFor instance the addition is a function that takes 2 numbers as inputs an produces, as output, a number that is the sum of these 2 inputs. A coded function needs to be implemented with code (e.g.: javascript) and deployed to be functional."},"i":342},{"o":1,"t":"01621fb84e330000f012","p":{"01703376c4a81c0e9d91":"A coded function triggered by a control flow.","01703376c4a81c0e9d92":"An action is a function that is executed only when the incoming control flow is triggered and all its inputs have a value. Once it has updated all its outputs, it will trigger the outgoing control flow.A Coded action needs to be implemented with code (e.g.: javascript) and deployed to be functional."},"i":399},{"o":1,"t":"0162f15740c36629dc57","p":{"ff023000000000000011":"description"},"i":330},{"o":1,"t":"0162f672366be5ca7a86","p":{"ff023000000000000011":"Type"},"i":134},{"o":1,"t":"01631aacd5c1f9d61c5d","p":{"ff023000000000000011":"Map"},"i":138},{"o":1,"t":"01631aacd5c2f9d61c5d","p":{"01703376c4a81c0e9d91":"An ordered collection of key-value pairs.","01703376c4a81c0e9d92":"A Map is a collection of values. Each value has a unique key and can be accessed through that key."},"i":139},{"o":1,"t":"01631aacd8276ea98490","p":{"ff023000000000000011":"List"},"i":146},{"o":1,"t":"01631aacd8276ea98491","p":{"ff023000000000000011":"Array"},"i":163},{"o":1,"t":"01631aacd8276ea98492","p":{"ff023000000000000011":"Query Result"},"i":173},{"o":1,"t":"01631aacd8276ea98493","p":{"ff023000000000000011":"Query"},"i":183},{"o":1,"t":"01631aacd8276ea98494","p":{"ff023000000000000011":"Filter Type"},"i":191},{"o":1,"t":"01631aacd8276ea98495","p":{"ff023000000000000011":"Sort Direction"},"i":199},{"o":1,"t":"01631aacd8276ea98496","p":{"017a7690c915975ea995":0,"ff023000000000000011":"equals","ff023000000000000026":"equals"},"i":215},{"o":1,"t":"01631aacd8276ea98497","p":{"017a7690c915975ea995":1,"ff023000000000000011":"different","ff023000000000000026":"different"},"i":216},{"o":1,"t":"01631aacd8276ea98498","p":{"017a7690c915975ea995":2,"ff023000000000000011":"contains","ff023000000000000026":"contains"},"i":217},{"o":1,"t":"01631aacd8276ea98499","p":{"017a7690c915975ea995":3,"ff023000000000000011":"greater than","ff023000000000000026":"greater than"},"i":218},{"o":1,"t":"01631aacd8276ea9849a","p":{"017a7690c915975ea995":4,"ff023000000000000011":"greater or equals","ff023000000000000026":"greater or equals"},"i":219},{"o":1,"t":"01631aacd8276ea9849b","p":{"017a7690c915975ea995":5,"ff023000000000000011":"smaller than","ff023000000000000026":"smaller than"},"i":220},{"o":1,"t":"01631aacd8276ea9849c","p":{"017a7690c915975ea995":6,"ff023000000000000011":"smaller or equals","ff023000000000000026":"smaller or equals"},"i":221},{"o":1,"t":"01631aacd8276ea9849d","p":{"017a7690c915975ea995":7,"ff023000000000000011":"regexp","ff023000000000000026":"regexp"},"i":222},{"o":1,"t":"01631aacd8276ea9849e","p":{"017a7690c915975ea995":0,"ff023000000000000011":"ascending","ff023000000000000026":"ascending"},"i":224},{"o":1,"t":"01631aacd8276ea9849f","p":{"017a7690c915975ea995":1,"ff023000000000000011":"descending","ff023000000000000026":"descending"},"i":225},{"o":1,"t":"01631aacd8286ea98490","p":{"01703376c4a81c0e9d91":"An ordered collection of objects.","01703376c4a81c0e9d92":"A **List** is a collection of objects of the same type (e.g. a list of strings). It can be accessed sequentially (one entry after the other) or directly by specifying the rank of the entry (e.g. the 3rd entry).\nThis is similar to arrays in programming languages."},"i":147},{"o":1,"t":"01631aacd8286ea98491","p":{"01703376c4a81c0e9d91":"A mutable ordered collection of objects.","01703376c4a81c0e9d92":"An **Array** is a collection of objects of the same type (e.g. a list of strings). It can be accessed sequentially (one entry after the other) or directly by specifying the rank of the entry (e.g. the 3rd entry).\nThis is similar to arrays in programming languages."},"i":164},{"o":1,"t":"01631aacd8286ea98492","p":{"01703376c4a81c0e9d91":"An ordered collection of objects.","01703376c4a81c0e9d92":"A **QueryResult** is a collection of objects of the same type (e.g. a list of strings). It can be accessed sequentially (one entry after the other) or directly by specifying the rank of the entry (e.g. the 3rd entry).\nThis is similar to arrays in programming languages."},"i":174},{"o":1,"t":"01631aacd8286ea98493","p":{"01703376c4a81c0e9d91":"TODO","01703376c4a81c0e9d92":"TODO"},"i":184},{"o":1,"t":"01631aacd8286ea98494","p":{"01703376c4a81c0e9d91":"TODO","01703376c4a81c0e9d92":"TODO"},"i":192},{"o":1,"t":"01631aacd8286ea98495","p":{"01703376c4a81c0e9d91":"TODO","01703376c4a81c0e9d92":"TODO"},"i":200},{"o":1,"t":"016324fde11a836f76c2","p":{"ff023000000000000011":"Data Type"},"i":40},{"o":1,"t":"016324fde11b836f76c2","p":{"01703376c4a81c0e9d91":"An application specific data structure.","01703376c4a81c0e9d92":"A data type let you specify a complex data structure which contains a number of properties an relations.\nThis is very similar to the concept of 'Class' in object-oriented programming languages."},"i":41},{"o":1,"t":"0163a68ce44f3d1fa84c","p":{"ff023000000000000011":"Data Model"},"i":49},{"o":1,"t":"0163a68ce4503d1fa84c","p":{"01703376c4a81c0e9d91":"A set of data types.","01703376c4a81c0e9d92":"A **Data Model** is where you define the data structures, called **Data Types**, that your applications will manipulate (e.g. Customer, Receipt, Order, etc...). A project can have multiple **Data Models**."},"i":50},{"o":1,"t":"0163c9ae01f2d6e9ca49","p":{"ff023000000000000011":"ObjectRef"},"i":122},{"o":1,"t":"0163c9ae0401d21eb0c3","p":{"ff023000000000000011":"objectTag"},"i":122},{"o":1,"t":"016421bb3797e22d1c4e","p":{"ff023000000000000011":"Video Stream"},"i":130},{"o":1,"t":"01644b6297305d62fca2","p":{"ff023000000000000011":"Image File"},"i":74},{"o":1,"t":"01644b6297315d62fca2","p":{"01703376c4a81c0e9d91":"A file containing an image.","01703376c4a81c0e9d92":"An image file contains a binary encoded image. Supported formats are jpeg, png and gif."},"i":75},{"o":1,"t":"01644b6d4543b344b857","p":{"ff023000000000000011":"Media Library"},"i":66},{"o":1,"t":"01644b6d4544b344b857","p":{"01703376c4a81c0e9d91":"A repository for media resources.","01703376c4a81c0e9d92":"A **Media Library** is a set of assets like fonts & images that can be used by the project it belongs to."},"i":67},{"o":1,"t":"01645fe6873aeea59e64","p":{"ff023000000000000011":"Data Set"},"i":29},{"o":1,"t":"01645fe6873beea59e64","p":{"01703376c4a81c0e9d91":"Set of data records.","01703376c4a81c0e9d92":"**Data Sets** are used to create data records that will be available in the applications at runtime.\nCompared to business data created at runtime, records inside **Data Sets** are saved during the export of the project, as part of the application data.\nFor example this is where you would create initial entries of your **Customer** data types."},"i":30},{"o":1,"t":"0164643c432146a71d5c","p":{"ff023000000000000011":"Video File"},"i":105},{"o":1,"t":"0164643c432246a71d5c","p":{"01703376c4a81c0e9d91":"A file containing a video recording.","01703376c4a81c0e9d92":"An video file contains a binary encoded video. Supported formats are mp4, mpeg and avi."},"i":106},{"o":1,"t":"01647e113043c637b541","p":{"fd01647e677f5d1cfbdf42":"normal","fd01647e6780999bf8bd25":300,"ff023000000000000011":"Font File"},"i":98},{"o":1,"t":"01647e113044c637b541","p":{"01703376c4a81c0e9d91":"A file containing a font definition.","01703376c4a81c0e9d92":"A font file contains a set of graphically related used to display strings on the screen.\n Supported formats are: woff & woff2"},"i":99},{"o":1,"t":"01647e35ecd24ef0b88d","p":{"ff023000000000000011":"Font Family"},"i":98},{"o":1,"t":"01647e677f5d1cfbdf42","p":{"ff023000000000000011":"Font Style"},"i":98},{"o":1,"t":"01647e6780999bf8bd25","p":{"ff023000000000000011":"Font Weight"},"i":98},{"o":1,"t":"0166446c1f128ebc903a","p":{"ff023000000000000011":"On Load"},"i":293},{"o":1,"t":"0168a431d25001540000","p":{"ff023000000000000011":"Runnable IO","ff023000000000000012":true},"i":257},{"o":1,"t":"0168a431d25001540001","p":{"ff023000000000000011":"Runnable Input"},"i":262},{"o":1,"t":"0168a431d25001540002","p":{"ff023000000000000011":"Runnable Output"},"i":265},{"o":1,"t":"0168a431d3b9b7438424","p":{"ff023000000000000011":"Type IO","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":9,"ff023000000000000237":1,"ff023000000000000337":1},"i":257},{"o":1,"t":"0168a431d91f25780000","p":{"ff023000000000000011":"Pipe"},"i":366},{"o":1,"t":"0168a431d91f25780001","p":{"ff023000000000000011":"Source Value"},"i":366},{"o":1,"t":"0168a431d91f25780002","p":{"ff023000000000000011":"Source Scope","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":9,"ff023000000000000237":2,"ff023000000000000337":1},"i":366},{"o":1,"t":"0168a431d91f25780003","p":{"ff023000000000000011":"Source Output","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":9,"ff023000000000000237":2,"ff023000000000000337":1},"i":366},{"o":1,"t":"0168a431d91f25780004","p":{"ff023000000000000011":"Source Property","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":9,"ff023000000000000237":2,"ff023000000000000337":1},"i":366},{"o":1,"t":"0168a431d91f2578000a","p":{"ff023000000000000011":"Destination Scope","ff023000000000000030":514,"ff023000000000000031":992,"ff023000000000000034":0,"ff023000000000000037":9,"ff023000000000000137":9,"ff023000000000000237":10,"ff023000000000000337":9},"i":366},{"o":1,"t":"0168a431d91f2578000b","p":{"ff023000000000000011":"Destination Input","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":9,"ff023000000000000237":2,"ff023000000000000337":1},"i":366},{"o":1,"t":"0168a431d91f2578000c","p":{"ff023000000000000011":"Destination Property","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":9,"ff023000000000000237":2,"ff023000000000000337":1},"i":366},{"o":1,"t":"0168c6f020f2a96a0000","p":{"ff023000000000000011":"Action Call","ff023000000000000012":true},"i":407},{"o":1,"t":"0168c6f020f2a96f0000","p":{"ff023000000000000011":"Function Call","ff023000000000000012":true},"i":352},{"o":1,"t":"01692a4af82e8984742b","p":{"ff023000000000000011":"Definition of runnable","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":9,"ff023000000000000237":2,"ff023000000000000337":1},"i":303},{"o":1,"t":"01692a4af82e8984742c","p":{"ff023000000000000011":"Calls Runnable","ff023000000000000030":514,"ff023000000000000031":31,"ff023000000000000034":4,"ff023000000000000037":6,"ff023000000000000137":6,"ff023000000000000237":2,"ff023000000000000337":6},"i":306},{"o":1,"t":"01692a4af82e8984742d","p":{"ff023000000000000011":"Conditional Calls Runnable","ff023000000000000030":514,"ff023000000000000031":31,"ff023000000000000034":4,"ff023000000000000037":6,"ff023000000000000137":6,"ff023000000000000237":1,"ff023000000000000337":6},"i":307},{"o":1,"t":"01692a4af82e8984742e","p":{"ff023000000000000011":"Extra Calls Runnable","ff023000000000000030":514,"ff023000000000000031":31,"ff023000000000000034":4,"ff023000000000000037":4,"ff023000000000000137":6,"ff023000000000000237":2,"ff023000000000000337":4},"i":308},{"o":1,"t":"01692aa71f3108454479","p":{"ff023000000000000011":"hardcoded"},"i":293},{"o":1,"t":"0169b5a8a33144fb0b49","p":{"ff023000000000000011":"reference","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":9,"ff023000000000000237":2,"ff023000000000000337":1},"i":122},{"o":1,"t":"016a9766c230916ea5ec","p":{"ff023000000000000011":"Service"},"i":412},{"o":1,"t":"016a9766c231916ea5ec","p":{"01703376c4a81c0e9d91":"A function to be run in a Service Application.","01703376c4a81c0e9d92":"A `Service` is a function meant to be run inside a headless application."},"i":413},{"o":1,"t":"016ac4f59a2917fdef01","p":{"ff023000000000000011":"Predefined Inputs rel","ff023000000000000030":514,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":6,"ff023000000000000237":2,"ff023000000000000337":2},"i":276},{"o":1,"t":"016ac4f59a2917fdef02","p":{"ff023000000000000011":"Predefined Outputs rel","ff023000000000000030":514,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":6,"ff023000000000000237":2,"ff023000000000000337":2},"i":276},{"o":1,"t":"016ac4f59c592b862457","p":{"ff023000000000000011":"Predefined Input"},"i":247},{"o":1,"t":"016ac4f59dd99f5df3e1","p":{"ff023000000000000011":"Predefined Output"},"i":250},{"o":1,"t":"016ac4f59ee8ea2081ba","p":{"ff023000000000000011":"Predefined IO","ff023000000000000012":true},"i":244},{"o":1,"t":"016ac4f5a0091c4790e2","p":{"ff023000000000000011":"Predefined Type IO","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":9,"ff023000000000000237":1,"ff023000000000000337":1},"i":244},{"o":1,"t":"016ac63229782039429f","p":{"017bc044aeacce7ffc8f":0,"ff023000000000000011":"Control Flow"},"i":390},{"o":1,"t":"016ac6322acf67eebfe7","p":{"017bc044aeacce7ffc8f":0,"ff023000000000000011":"Control Flow"},"i":390},{"o":1,"t":"016ac63c5b3ed0562740","p":{"017bc044aeacce7ffc8f":0,"ff023000000000000011":"Control Flow"},"i":412},{"o":1,"t":"016c2d996d9ca27fa9d8","p":{"ff023000000000000011":"Delegate","ff023000000000000012":true},"i":315},{"o":1,"t":"016c3cb7742ec9309e0b","p":{"ff023000000000000011":"Delegator Relation","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":5,"ff023000000000000237":1,"ff023000000000000337":1},"i":315},{"o":1,"t":"016c42d3454636f90533","p":{"ff023000000000000011":"Delegated Properties","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":5,"ff023000000000000237":1,"ff023000000000000337":1},"i":315},{"o":1,"t":"016cfca73e63f9ab5ba4","p":{"ff023000000000000011":"Text"},"i":155},{"o":1,"t":"016d3f37610ae4fc3962","p":{"ff023000000000000011":"SizeDelegator"},"i":318},{"o":1,"t":"016eb13ba1388f7bdd71","p":{"ff023000000000000011":"picture_default","ff023000000000000050":"picture_default.svg","ff023000000000000051":{"c":4,"h":8,"m":5,"s":37,"S":206,"z":0,"y":2022,"M":5,"d":12},"ff023000000000000052":"image/svg+xml","ff023000000000000053":"images/picture_default.svg","ff023000000000000054":false,"ff023000000000000055":{"c":4,"h":8,"m":5,"s":37,"S":206,"z":0,"y":2022,"M":5,"d":12}},"i":89},{"o":1,"t":"016eeb5ede9f3094d8f0","p":{"ff023000000000000011":"Error Flow"},"i":237},{"o":1,"t":"0171838bcfed0000a00a","p":{"ff023000000000000011":"Auxiliary model","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":0,"ff023000000000000137":5,"ff023000000000000237":2,"ff023000000000000337":0},"i":293},{"o":1,"t":"0171838bcfed0000e00e","p":{"ff023000000000000011":"Super Definition","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":5,"ff023000000000000237":2,"ff023000000000000337":1},"i":293},{"o":1,"t":"0171bc1f15da96dfdb89","p":{"ff023000000000000011":"app project import","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":5,"ff023000000000000237":2,"ff023000000000000337":1},"i":453},{"o":1,"t":"01740c5d4ae4b520dd01","p":{"ff023000000000000011":"IO Rank"},"i":257},{"o":1,"t":"01740c5d4ae4b520dd02","p":{"ff023000000000000011":"Default Value"},"i":262},{"o":1,"t":"01756a18d4921c103111","p":{"ff023000000000000011":"Anonymous definition","ff023000000000000030":514,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":10,"ff023000000000000137":10,"ff023000000000000237":2,"ff023000000000000337":10},"i":303},{"o":1,"t":"017a7a9ff057958e5678","p":{"ff023000000000000011":"Enums"},"i":15},{"o":1,"t":"017a7a9ff058958e5678","p":{"01703376c4a81c0e9d91":"A folder for grouping enums.","01703376c4a81c0e9d92":"A Enum Folder is a group of 1 or more enums, it is linked to the Enum Editor."},"i":16},{"o":1,"t":"017a7b07a948e30508fa","p":{"ff023000000000000011":"Remote Action"},"i":424},{"o":1,"t":"017a7b07a949e30508fa","p":{"01703376c4a81c0e9d91":"A remote function triggered by a control flow.","01703376c4a81c0e9d92":"A remote action is a function that is executed only when the incoming control flow is triggered and all its inputs have a value. Once it has updated all its outputs, it will trigger the outgoing control flow. It is executed on a remote service."},"i":425},{"o":1,"t":"017a7b07b09e3b22c8b4","p":{"017bc044aeacce7ffc8f":0,"ff023000000000000011":"Control Flow"},"i":424},{"o":1,"t":"017a7b07ba05807a74b0","p":{"017bc044aeacce7ffc8f":1,"ff023000000000000011":"User"},"i":424},{"o":1,"t":"017a7b0818c12388d731","p":{"017bc044aeacce7ffc8f":0,"ff023000000000000011":"Control Flow"},"i":424},{"o":1,"t":"017a7b085146d5e69aec","p":{"017bc044aeacce7ffc8f":1,"ff023000000000000011":"Error Flow"},"i":424},{"o":1,"t":"017a7b0c5dcbd8964c5d","p":{"fd017a7b0c62a02a89444f":false,"ff023000000000000011":"Remote Action Call","ff023000000000000012":true},"i":434},{"o":1,"t":"017a7b0c62a02a89444f","p":{"ff023000000000000011":"listener"},"i":434},{"o":1,"t":"017b3aa8fae1e3d044dc","p":{"ff023000000000000011":"Business Container"},"i":60},{"o":1,"t":"017b3aa8fd1659291b92","p":{"ff023000000000000011":"business container to project","ff023000000000000030":514,"ff023000000000000031":992,"ff023000000000000034":0,"ff023000000000000037":9,"ff023000000000000137":9,"ff023000000000000237":0,"ff023000000000000337":9},"i":60},{"o":1,"t":"017b3aa8fe7ec3fd52f2","p":{"ff023000000000000011":"business container to runtime objects","ff023000000000000030":514,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":0,"ff023000000000000137":6,"ff023000000000000237":2,"ff023000000000000337":0},"i":60},{"o":1,"t":"017bc044aeacce7ffc8f","p":{"ff023000000000000011":"Predefined IO Rank"},"i":244},{"o":1,"t":"017dc8c114aa61a0e27f","p":{"ff023000000000000011":"DBConnector","ff023000000000000012":true},"i":493},{"o":1,"t":"017dc8d6c8fd8c8bd2f0","p":{"ff023000000000000011":"DBConnectorDefinition"},"i":487},{"o":1,"t":"017dc8d6d8ef9135f08a","p":{"ff023000000000000011":"DBConnector to business models","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":5,"ff023000000000000237":2,"ff023000000000000337":1},"i":493},{"o":1,"t":"017dc8d6d8ef9135f08b","p":{"ff023000000000000011":"DBConnector to projects","ff023000000000000030":514,"ff023000000000000031":992,"ff023000000000000034":0,"ff023000000000000037":8,"ff023000000000000137":9,"ff023000000000000237":8,"ff023000000000000337":8},"i":493},{"o":1,"t":"017dc92292107fb98b21","p":{"017bc044aeacce7ffc8f":0,"ff023000000000000011":"ID"},"i":487},{"o":1,"t":"017ed8ac775f48d4d589","p":{"ff023000000000000011":"dataRel","ff023000000000000030":16,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":6,"ff023000000000000237":0,"ff023000000000000337":2},"i":29}],"optionalOperations":[]}
|
package/index.js
CHANGED
|
@@ -1194,16 +1194,16 @@ olympe.dc.Id.instancesOf=olympe.dc.Id.Hz;olympe.dc.Id.from=olympe.dc.Id.from;fun
|
|
|
1194
1194
|
function Ah(a,b,c=olympe.dc.$b.nh){b&&b((new olympe.dc.oa.CB(c)).C(a.p||[]));const d=olympe.dc.fc();let e=!1;b=a.k.map(f=>{const g=f.split('.').map(k=>d.ue(k)?olympe.dc.CloudObject.get(k):(olympe.rb.Eb('QueryResult').error(`CloudObject with tag ${k} not present but required for deserialization`),e=!0,null));return[f,1===g.length?g[0]:g]});return e?null:olympe.dc.Ac.create(b,a.a,a.r)}
|
|
1195
1195
|
olympe.dc.Ac=class{constructor(){this.C=[];this.F=new Map;this.O=[];this.R=[];this.hash=''}static empty(){return new olympe.dc.Ac}[Symbol.iterator](){let a=0;return{next:()=>{var b={done:!0};a<this.C.length&&(b=this.C[a],b={value:[b,this.F.get(b)],done:!1},a++);return b}}}entries(){return this.C.map(a=>[a,this.F.get(a)])}values(){return this.F.values()}keys(){return this.C.values()}hn(){return this.C.map(a=>this.F.get(a))}size(){return this.C.length}has(a){return this.F.has(a)||this.hn().includes(a)}indexOf(a){return null===
|
|
1196
1196
|
a||void 0===a?-1:'string'===typeof a?this.C.indexOf(a):this.hn().indexOf(a)}get(a){return(a=this.F.get(a))?a:null}Pd(){return this.Ch(0)}Ch(a){return a<this.C.length?this.F.get(this.C[a]):null}push(...a){const b=this.hn();b.push(...a);return b}pop(){if(0===this.C.length)return[];const a=this.hn();a.pop();return a}shift(){if(0<this.C.length){const a=this.hn();a.shift();return a}return[]}filter(a){return this.hn().filter(a)}find(a){return(a=this.hn().find(a))?a:null}forEach(a){this.C.forEach((b,c)=>
|
|
1197
|
-
a(this.F.get(b),c))}map(a){return this.hn().map(a)}sort(a){const b=this.entries().sort((c,d)=>a(c[1],d[1]));return olympe.dc.Ac.create(b,Array.from(this.O),Array.from(this.R))}reduce(a,b){return this.hn().reduce(a,b)}concat(...a){const b=[this.entries(),...a.map(d=>d.entries())].flat();let c=Array.from(this.O);for(const d of a)c=c.concat(d.O.map(e=>e+c.length));a=this.R.concat(...a.map(d=>d.R));return olympe.dc.Ac.create(b,c,a)}static from(a,b){const c=olympe.dc.fc();var d=Bh(b);if(b.$i){const {pd:
|
|
1198
|
-
order:
|
|
1199
|
-
|
|
1200
|
-
|
|
1197
|
+
a(this.F.get(b),c))}map(a){return this.hn().map(a)}sort(a){const b=this.entries().sort((c,d)=>a(c[1],d[1]));return olympe.dc.Ac.create(b,Array.from(this.O),Array.from(this.R))}reduce(a,b){return this.hn().reduce(a,b)}concat(...a){const b=[this.entries(),...a.map(d=>d.entries())].flat();let c=Array.from(this.O);for(const d of a)c=c.concat(d.O.map(e=>e+c.length));a=this.R.concat(...a.map(d=>d.R));return olympe.dc.Ac.create(b,c,a)}static from(a,b){const c=olympe.dc.fc();var d=Bh(b);if(b.$i){const {pd:l,
|
|
1198
|
+
order:m,$i:n,MT:p}=b.$i,r=Array.from(b.F).sort().indexOf(p),t=m===olympe.dc.qa.DB.ASC?1:-1;d.sort((u,w)=>{w=w[r];u=c.nd(u[r],l);w=c.nd(w,l);return null===u?-t:null===w?t:t*n(u,w)})}else d.sort((l,m)=>l.reduce((n,p,r)=>n||p.localeCompare(m[r]),0));0<b.offset&&(d=d.slice(b.offset));-1<b.max&&(d=d.slice(0,b.max));b=olympe.oa.yd(d.flat().join(''));if(b===a.hash)return a;d=d.map(l=>[l.join('.'),1===l.length?olympe.dc.CloudObject.get(l[0]):l.map(m=>olympe.dc.CloudObject.get(m))]);const e=new Set(d.map(l=>
|
|
1199
|
+
l[0])),f=new Set(a.keys()),g=[],k=[];d.forEach(([l],m)=>{!f.has(l)&&g.push(m)});f.forEach(l=>{!e.has(l)&&k.push(l)});return olympe.dc.Ac.create(d,g,k,b)}static create(a,b,c,d){const e=new olympe.dc.Ac;e.C=a.map(f=>f[0]);e.F=new Map(a);e.hash=d||olympe.oa.yd(e.C.join(''));e.O=b||e.C.map((f,g)=>g);e.R=c||[];return e}Ya(){const a=new olympe.dc.db.dg;var b=new Set(this.O.flatMap(c=>this.C[c].split('.')));for(const c of b)zh(c,a);b=new olympe.dc.transaction.Ui;a.rh(b);return{k:this.C,p:Zg(b),a:this.O,
|
|
1200
|
+
r:this.R}}};olympe.dc.Ac.prototype.concat=olympe.dc.Ac.prototype.concat;olympe.dc.Ac.prototype.reduce=olympe.dc.Ac.prototype.reduce;olympe.dc.Ac.prototype.sort=olympe.dc.Ac.prototype.sort;olympe.dc.Ac.prototype.map=olympe.dc.Ac.prototype.map;olympe.dc.Ac.prototype.forEach=olympe.dc.Ac.prototype.forEach;olympe.dc.Ac.prototype.find=olympe.dc.Ac.prototype.find;olympe.dc.Ac.prototype.filter=olympe.dc.Ac.prototype.filter;olympe.dc.Ac.prototype.shift=olympe.dc.Ac.prototype.shift;
|
|
1201
1201
|
olympe.dc.Ac.prototype.pop=olympe.dc.Ac.prototype.pop;olympe.dc.Ac.prototype.push=olympe.dc.Ac.prototype.push;olympe.dc.Ac.prototype.getAt=olympe.dc.Ac.prototype.Ch;olympe.dc.Ac.prototype.getFirst=olympe.dc.Ac.prototype.Pd;olympe.dc.Ac.prototype.get=olympe.dc.Ac.prototype.get;olympe.dc.Ac.prototype.indexOf=olympe.dc.Ac.prototype.indexOf;olympe.dc.Ac.prototype.has=olympe.dc.Ac.prototype.has;olympe.dc.Ac.prototype.size=olympe.dc.Ac.prototype.size;olympe.dc.Ac.prototype.toArray=olympe.dc.Ac.prototype.hn;
|
|
1202
|
-
olympe.dc.Ac.prototype.keys=olympe.dc.Ac.prototype.keys;olympe.dc.Ac.prototype.values=olympe.dc.Ac.prototype.values;olympe.dc.Ac.prototype.entries=olympe.dc.Ac.prototype.entries;olympe.dc.Ac.empty=olympe.dc.Ac.empty;function Bh(a){var b=new Set(Ch(a,a.lo()-1).keys());a.C.push((new Map).set('sink',b));b=[];for(const c of Dh(a,'sink',a.lo()-1,''))b.push(c.slice(0,-1).split(';'));a.C.pop();return b}function Eh(a,b,c,d,e){a.$i={$i:b,MT:c,order:d,pd:e}}function Fh(a,b){a.
|
|
1203
|
-
function Dh(a,b,c,d){if(0===c)return a.
|
|
1202
|
+
olympe.dc.Ac.prototype.keys=olympe.dc.Ac.prototype.keys;olympe.dc.Ac.prototype.values=olympe.dc.Ac.prototype.values;olympe.dc.Ac.prototype.entries=olympe.dc.Ac.prototype.entries;olympe.dc.Ac.empty=olympe.dc.Ac.empty;function Bh(a){var b=new Set(Ch(a,a.lo()-1).keys());a.C.push((new Map).set('sink',b));b=[];for(const c of Dh(a,'sink',a.lo()-1,''))b.push(c.slice(0,-1).split(';'));a.C.pop();return b}function Eh(a,b,c,d,e){a.$i={$i:b,MT:c,order:d,pd:e}}function Fh(a,b){a.O=b}function Gh(a){a.O?a.R||(a.R=!0,a.O()):olympe.rb.Eb('dc').error('Trying to notify update for partial result but callback has not been previously set')}function Ch(a,b){return b>=a.lo()?new Map:a.C[b]}
|
|
1203
|
+
function Dh(a,b,c,d){if(0===c)return a.F.has(c)?(b=Array.from(Ch(a,0).keys())[0],(new Set).add(`${b};${d}`)):(new Set).add(d);const e=Hh(a,b,c),f=a.F.has(c)?`${b};${d}`:d;return e.reduce((g,k)=>{for(const l of Dh(a,k,c-1,f))g.add(l);return g},new Set)}function Hh(a,b,c){return 0===c?null:(a=Ch(a,c))&&a.has(b)?Array.from(a.get(b)):null}
|
|
1204
1204
|
function Ih(a,b,c,d){var e=Ch(a,c);if(0<c&&(null===d||!Ch(a,c-1).has(d)))return olympe.rb.Eb('dc').error('Try to insert result entry linked to a non existing parent'),null;if(e.has(b)&&null!==d)return b=e.get(b),e=b.size,b.add(d),b.size>e&&Gh(a),!1;if(c>=a.lo())return olympe.rb.Eb('dc').error('Try to insert result entry to a higher level than possible'),null;c=new Set;null!==d&&c.add(d);e.set(b,c);Gh(a);return!0}
|
|
1205
1205
|
function Jh(a,b,c,d){Ch(a,c+1).forEach((e,f)=>{e.has(d)&&a.remove(f,c+1,b)});Ch(a,c).delete(d);Gh(a)}
|
|
1206
|
-
olympe.dc.qa.eJ=class{constructor(a){this.C=Array.from({length:ph(a)+1},()=>new Map);this.
|
|
1206
|
+
olympe.dc.qa.eJ=class{constructor(a){this.C=Array.from({length:ph(a)+1},()=>new Map);this.F=new Set(Array.from(a.F));this.$i=null;this.R=!1;this.O=null;this.max=a.max;this.offset=a.offset}lo(){return this.C.length}remove(a,b,c){var d=Ch(this,b);if(!d.has(a))return!0;if(0<b&&(null===c||!Ch(this,b-1).has(c)))return olympe.rb.Eb('dc').error('Try to remove result entry linked to a non existing parent'),null;d=d.get(a);c&&d.delete(c);if(1>d.size)return Gh(this),Jh(this,a,b,a),!0;Gh(this);return!1}};olympe.dc.Wi=class{constructor(a){this.query=a}static from(a){return new olympe.dc.Wi(olympe.dc.Id.from(a))}fe(a){return new olympe.dc.Wi(this.query.fe(a))}Sv(){return this}Wc(a){return this.query.Wc(a).then(b=>{const c=b.size();return 1<c?(olympe.rb.Eb('dc').warn('a follow() on a QuerySingle has '+c+' results (0 or 1 expected) -> returns null'),null):b.Pd()||null})}$k(){const a=this.query.$k(),b=a.size();return 1<b?(olympe.rb.Eb('dc').warn('a follow() on a QuerySingle has '+b+' results (0 or 1 expected) -> returns null'),
|
|
1207
1207
|
null):a.Pd()||null}};olympe.dc.Wi.prototype.executeFromCache=olympe.dc.Wi.prototype.$k;olympe.dc.Wi.prototype.execute=olympe.dc.Wi.prototype.Wc;olympe.dc.Wi.prototype.cast=olympe.dc.Wi.prototype.Sv;olympe.dc.Wi.prototype.follow=olympe.dc.Wi.prototype.fe;olympe.dc.qa.sa={};olympe.dc.qa.sa.$j=class{constructor(...a){this.sa=a}Wc(a){return this.sa.reduce((b,c)=>b&&c.Wc(a),!0)}observe(a,b,c){const d=this.sa.map(()=>!1),e=this.sa.map(()=>null),f=(g,k)=>{d[k]=g;g=d.every(l=>l);e[k]!==g&&(e[k]=g,c(g))};this.sa.forEach((g,k)=>{g.observe(a,olympe.oa.yd('AND-'+b+a+k),l=>f(l,k))})}Ya(){return{pr:8,p:this.sa.map(a=>a.Ya())}}toString(){return'And-'+this.sa.reduce((a,b)=>a+'-'+b.toString(),'')}clear(a,b){this.sa.forEach((c,d)=>{c.clear(a,olympe.oa.yd('AND-'+b+a+d))})}};
|
|
1208
1208
|
olympe.dc.qa.sa.$j.C=8;olympe.dc.qa.sa.$j.ua=[olympe.dc.qa.Oc];olympe.dc.qa.sa.vh=class{constructor(a,b,c,d=!1){this.pd=olympe.dc.Gb(a);this.substring=b;this.db=c;this.C=d}nd(){return this.pd}Wc(a){return this.apply(this.db.nd(a,this.pd))}observe(a,b,c){Ag(this.db,a,this.pd,d=>{c(this.apply(d))},olympe.oa.yd(b+a+this.toString()))}apply(a){return'string'===typeof a?this.C?a.includes(this.substring):a.toLowerCase().includes(this.substring.toLowerCase()):!1}toString(){return'Contains'+this.pd+'-'+this.substring+'-'+this.C}clear(a,b){this.db.O(a,this.pd,olympe.oa.yd(b+
|
|
1209
1209
|
a+this.toString()))}Ya(){return{pr:2,p:this.pd,s:this.substring,c:this.C}}};olympe.dc.qa.sa.vh.C=2;olympe.dc.qa.sa.vh.ua=[olympe.dc.qa.Oc];olympe.dc.qa.sa.Wg=class{constructor(a,b,c){this.pd=olympe.dc.Gb(a);this.C=b;this.db=c}Wc(a){return this.apply(this.db.nd(a,this.pd))}observe(a,b,c){Ag(this.db,a,this.pd,d=>{c(this.apply(d))},olympe.oa.yd(b+a+this.toString()))}clear(a,b){this.db.O(a,this.pd,olympe.oa.yd(b+a+this.toString()))}apply(a){return'object'===typeof a&&null!==a?a instanceof olympe.dc.CloudObject?a.Lc(this.C):a instanceof Date?this.C instanceof Date&&this.C.getTime()===a.getTime():a instanceof olympe.j.Color?a.Lc(this.C):!1:
|
|
@@ -1286,7 +1286,7 @@ olympe.ma.Be(function(a){C(a,olympe.dc.query.za.SJ,!1);A(a,olympe.dc.query.da.Ob
|
|
|
1286
1286
|
olympe.dc.query.df.TF,olympe.dc.query.da.Ob,olympe.dc.query.Ke.bm,new olympe.ma.Ta(olympe.dc.za.Hp));z(a,olympe.dc.query.Ke.QF,olympe.dc.query.df.UF,olympe.dc.query.da.Ob,olympe.dc.query.Ke.bm,olympe.dc.query.Ke.Kx);z(a,olympe.dc.query.Ke.OF,olympe.dc.query.df.SF,olympe.dc.query.da.Ob,olympe.dc.query.Ke.bm);z(a,olympe.dc.query.Ke.qy,olympe.dc.query.df.wI,olympe.dc.query.da.Ob,olympe.dc.da.Tu,olympe.dc.query.Ke.bm);z(a,olympe.dc.query.Ke.jJ,olympe.dc.query.df.eS,olympe.dc.query.da.Ob,olympe.dc.query.Ke.bm,
|
|
1287
1287
|
olympe.dc.query.Ke.EA,olympe.dc.query.Ke.Kx,olympe.dc.da.jk,olympe.dc.db.da.sb);z(a,olympe.dc.query.Ke.EA,olympe.dc.query.df.aP,olympe.dc.query.da.Ob,olympe.dc.query.Ke.bm,olympe.dc.transaction.da.sb);A(a,olympe.dc.query.da.sb,[olympe.dc.query.da.Ob,new olympe.ma.Ta(olympe.dc.za.Hp),olympe.dc.da.jk,olympe.dc.db.da.sb,olympe.dc.query.Ke.bm,olympe.dc.query.Ke.Kx,olympe.dc.query.Ke.pI,olympe.dc.query.Ke.PF,olympe.dc.query.Ke.QF,olympe.dc.query.Ke.OF,olympe.dc.query.Ke.qy,olympe.dc.query.Ke.jJ],(b,c,
|
|
1288
1288
|
d,e,f,g,k,l,m,n,p,r)=>new olympe.dc.query.cS(b,c,d,e,f,g,[k,l,m,n,p],r))});olympe.ma.run([olympe.dc.query.Ke.bm],a=>{olympe.jw().subscriptions=a});olympe.dc.query.ub={};function bj(){const a=Error.stackTraceLimit;Error.stackTraceLimit=16;let b=Error().stack||'';b=b.split('\n').map(d=>d.trim());var c='Error'===b[0]?2:1;b=b.slice(c,Error.stackTraceLimit+c).reverse();c=[];for(const d of b)if(c.push(' '+d),d.includes('at ListDef.')||d.includes('at GraphDef.'))break;Error.stackTraceLimit=a;3<c.length&&(c=c.slice(c.length-3));return c.join('\n')||b.join('\n')}
|
|
1289
|
-
olympe.dc.query.ub.$J=class{constructor(a,b){this.C=new Map;this.F=new Map;this.R=a;this.ga=b}getSubscription(){}O(a){var b=this.C.get(a);this.C.set(a,void 0!==b?b+1:1);b=this.F.get(a);this.F.set(a,void 0!==b?b:!1)}};function $i(a,b){const c=b.xa();a.T.set(c,b);olympe.j.ib().onDestroy(()=>{a.T.delete(c)})}function aj(a,b){const c=b.xa();a.V.set(c,b);olympe.j.ib().onDestroy(()=>{a.V.delete(c)})}olympe.dc.query.ub.JP=class extends olympe.dc.query.ub.$J{constructor(a,b,c){super(a,b);this.ub=c;this.T=new Map;this.V=new Map;b&&bj()}getSubscription(){return this.R}};olympe.dc.query.ub.sR=class extends olympe.dc.query.ub.$J{constructor(a,b){super(a,b);this.T=new Map}getSubscription(){return this.R}O(a){super.O(a);if(this.ga){const b='md_'+olympe.oa.De();this.T.set(b,bj());olympe.j.ib().onDestroy(()=>{this.T.delete(b)})}}};olympe.dc.query.ub.dS=class{constructor(a){this.query=a;this.C=olympe.dc.Ai();this.id=a.xa();this.result=olympe.j.qb(olympe.dc.Ac);this.F=null;this.counter=0}update(){const a=olympe.j.Ua(this.result)||olympe.dc.Ac.empty(),b=olympe.dc.Ac.from(a,this.F);b!==a&&(Of(this.C,null,yh(b)),this.result.update(b))}destroy(){const a=olympe.j.Ua(this.result)||olympe.dc.Ac.empty();Of(this.C,null,xh(a))}};olympe.dc.query.df={};function cj(a,b,c,d,e){a.Y.debug('CoverageProcessor: [ID:',d,'] - checking coverage of remote query over',b.length,'paths.');const f=new olympe.async.Cp(olympe.j.ib()),g=l=>{f.add((m,n)=>{l.Wc(p=>{p?n(`The query ${d} is not covered by an existing graphdef, `+`and the specific graphdef id ${l.xa()} has encountered an error: ${p}`):m()});Zi(a.ub,l.xa(),c)})},k=Array.from(Ri(a.ub,olympe.dc.$b.nh));b.forEach(l=>{const m=ci(l);let n=!1;for(let p=0,r=k.length;p<r;p++){const t=k[p];if(t.pL(m)){g(t.Qr,!1);
|
|
1289
|
+
olympe.dc.query.ub.$J=class{constructor(a,b){this.C=new Map;this.F=new Map;this.R=a;this.ga=b}getSubscription(){}O(a){var b=this.C.get(a);this.C.set(a,void 0!==b?b+1:1);b=this.F.get(a);this.F.set(a,void 0!==b?b:!1)}};function $i(a,b){const c=b.xa();a.T.set(c,b);olympe.j.ib().onDestroy(()=>{a.T.delete(c)})}function aj(a,b){const c=b.xa();a.V.set(c,b);olympe.j.ib().onDestroy(()=>{a.V.delete(c)})}olympe.dc.query.ub.JP=class extends olympe.dc.query.ub.$J{constructor(a,b,c){super(a,b);this.ub=c;this.T=new Map;this.V=new Map;b&&bj()}getSubscription(){return this.R}};olympe.dc.query.ub.sR=class extends olympe.dc.query.ub.$J{constructor(a,b){super(a,b);this.T=new Map}getSubscription(){return this.R}O(a){super.O(a);if(this.ga){const b='md_'+olympe.oa.De();this.T.set(b,bj());olympe.j.ib().onDestroy(()=>{this.T.delete(b)})}}};olympe.dc.query.ub.dS=class{constructor(a){this.query=a;this.C=olympe.dc.Ai();this.id=a.xa();this.result=olympe.j.qb(olympe.dc.Ac);this.F=null;this.counter=0}update(){const a=olympe.j.Ua(this.result)||olympe.dc.Ac.empty(),b=olympe.dc.Ac.from(a,this.F);this.F.R=!1;b!==a&&(Of(this.C,null,yh(b)),this.result.update(b))}destroy(){const a=olympe.j.Ua(this.result)||olympe.dc.Ac.empty();Of(this.C,null,xh(a))}};olympe.dc.query.df={};function cj(a,b,c,d,e){a.Y.debug('CoverageProcessor: [ID:',d,'] - checking coverage of remote query over',b.length,'paths.');const f=new olympe.async.Cp(olympe.j.ib()),g=l=>{f.add((m,n)=>{l.Wc(p=>{p?n(`The query ${d} is not covered by an existing graphdef, `+`and the specific graphdef id ${l.xa()} has encountered an error: ${p}`):m()});Zi(a.ub,l.xa(),c)})},k=Array.from(Ri(a.ub,olympe.dc.$b.nh));b.forEach(l=>{const m=ci(l);let n=!1;for(let p=0,r=k.length;p<r;p++){const t=k[p];if(t.pL(m)){g(t.Qr,!1);
|
|
1290
1290
|
n=!0;break}}n?a.Y.debug('CoverageProcessor: [ID:',d,'] - graphPath',l,' is covered'):g(l,!0)});Kc(f,(l,m)=>e(m));f.start()}function dj(a,b,c){const d=[b.bj()],e=g=>g instanceof olympe.dc.wa.Wn,f=(b.bq()||[]).filter(e);for(const g of f)d.push(g.bj()),f.push(...(g.bq()||[]).filter(e));kh(a.C,()=>{olympe.j.ab(d,()=>{const g=b.od();cj(a,g,b,b.xa(),c)})})}function ej(a,b,c,d){const e=b.xa(),f=[rh(b,c)];kh(a.C,()=>cj(a,f,b,e,d))}olympe.dc.query.df.aP=class{constructor(a,b,c){this.Y=a;this.ub=b;this.C=c}};olympe.dc.query.df.SF=class{constructor(a,b){this.Y=a;this.ub=b}process(a,b,c){const d=b.xa();this.ub.C.has(d)?(Di(this.ub,d).ka(b),olympe.dc.Ai().Pm(b.data,a),c(null,b)):c(Error(`Received a notification for the graphdef ${d} which does not exist.`),b)}};olympe.dc.query.df.SF.ua=[olympe.dc.Ep];olympe.dc.query.df.TF=class{constructor(a,b,c){this.Y=a;this.ub=b;this.C=c}process(a,b,c){var d=b.xa();if(a===olympe.dc.$b.Jd||this.ub.C.has(d)){if(c(null,b),a=Di(this.ub,d),this.C||a&&a.R)a=olympe.dc.$b.Jd,d=new olympe.dc.query.Os(d,a,a,new olympe.dc.db.dg),Ki(olympe.dc.oo(),d)}else c(Error('The local Graph Engine is not implemented yet. It should handle Graphdefs addressed to instances owned by this local OVM'),b)}};olympe.dc.query.df.TF.ua=[olympe.dc.Ep];olympe.dc.query.df.UF=class{constructor(a,b,c){this.Y=a;this.C=b;this.F=c}process(a,b,c){const d=b.xa();if(this.C.C.has(d)){const f=Di(this.C,d);if(b instanceof olympe.dc.query.Xv.ey)Fi(this.C,d,a);else if(!f.R){f.$(b);const g=olympe.dc.Ai();Of(g,f.V());g.Pm(b.hg,b.destination);f.onDestroy(()=>{Of(g,null,f.V())});ki(f)}}let e;b instanceof olympe.dc.query.Xv.ey&&(e=`graph subscription "${d}" failed to create the initial result: ${b.ga()}`,this.Y.error(e));Th(this.F,b.xa(),b);c(e?Error(e):null,b)}};
|
|
1291
1291
|
olympe.dc.query.df.UF.ua=[olympe.dc.Ep];const fj=[],gj=new Map;function hj(a,b,c,d){qf(a.db,d,e=>{e?b.ci(c)?a.Y.warn('Adding the same index twice (should never happen) for sub #'+b.xa()+', index #'+c+', tag #'+d):b.Cb(c,d):ij(a,b,c,d)},c)}function ij(a,b,c,d){rf(a.db,d,c,!0);b.Ab(c);fj.length=0;b.ec(function(e,f){fj[e]=f});c=a=0;for(d=fj.length;a<d;a++)'string'===typeof fj[a]&&(fj[c++]=fj[a]);fj.length=c;b.La(fj)}
|
|
1292
1292
|
olympe.dc.query.df.wI=class{constructor(a,b,c){this.Y=a;this.db=b;this.ub=c}process(a,b,c){const d=b.xa();a=b.C;const e=Hi(this.ub,d);if(null===e)c(Error(`Received list notification for undefined subscription "${d}"`),b);else{fj.length=a.length;e.ec((f,g)=>{if(f=e.zg(g)){f=f.ca();var k=gj.get(f);void 0===k?gj.set(f,g):'string'===typeof k?gj.set(f,[k,g]):k.push(g)}else this.Y.warn('Subscription #'+d+' has a rank for index #'+g+' but no instance. This is caused by receiving a new list notification before receiving all instances of the previous list notification.')});
|
|
@@ -1295,8 +1295,8 @@ Vi(a.ub,e,b)||a.notify(b,c);d(null,c)}
|
|
|
1295
1295
|
function kj(a,b){if(b.V())a.Y.debug('ListProcessor: [ID:',b.xa(),'] - Subscription already booted, ignoring');else{a.Y.debug('ListProcessor: [ID:',b.xa(),'] - Booting subscription');var c=new olympe.dc.Yf.YJ(a.db,a.Y),d=lj(a,b,c),e=b.xa();b.getContext().run(()=>{olympe.j.ab([b.bj()],f=>{const g=olympe.dc.Gb(f);a.Y.debug('ListProcessor: [ID:',b.xa(),'] - Booting with baseTag',g);b.Af()||b.Qg();qf(a.db,g,k=>d(k,g),e);olympe.j.ib().Vd(()=>rf(a.db,g,e));a.db.ue(g.valueOf())||mj(c);b.V()||(mj(c),b.La([]))})})}}
|
|
1296
1296
|
function lj(a,b,c){const d=new olympe.dc.Yf.Hx;let e=!1;const f=b.getContext(),g=b.bq(),k=[];k[g?g.length:0]=f.md((l,m,n,p)=>{f.rg()||f.Dc()||(l?b.ci(n)?a.Y.warn('Adding the same index twice (should never happen) for sub #',b.xa(),', index #',n,', tag #',m):(a.Y.debug('ListProcessor: [ID:',b.xa(),'] - Adding Instance',m,'to the subscription'),b.Cb(n,m)):(a.Y.debug('ListProcessor: [ID:',b.xa(),'] - Removing Instance',m,'from the subscription'),b.Ab(n)),e||(nj(c,()=>{p.Kp();mj(c)}),p.Bg().Iq(b.La.bind(b)),
|
|
1297
1297
|
e=!0),oj(c,n))});if(null!==g){const l=olympe.dc.Bg();for(let m=g.length-1;0<=m;m--)k[m]=f.md(g[m].getTransform(l,c,k[m+1]))}return(l,m)=>{const n=b.xa();c.register(n,null);const p=d.C(l,m,n,null);if(null!==p)k[0](l,m,n,pj(p,l,m,n))}}
|
|
1298
|
-
olympe.dc.query.df.xI=class{constructor(a,b,c,d,e,f){this.Y=a;this.db=b;this.ub=c;this.C=d;this.F=f}process(a,b,c){jj(this,a,b,c)}notify(a,b){const c=b.xa();this.Y.debug(`Register notification of list subscription ${c} for destination ${a}`);const d=()=>{const f=new olympe.dc.query.vI(c);b.$h(g=>f.F(g));Mi(olympe.dc.oo(),f)};let e=!1;b.forEach(()=>{e&&d()});b.Mm(()=>{e=!0;d()})}};olympe.dc.query.df.xI.ua=[olympe.dc.Ep];function Ci(a,b,c){const d=b.xa(),e=b.source,f=a.ub.O.has(d),g=Xi(a.ub,b);return new rxjs.Observable(k=>{c.run(()=>{olympe.j.ab([g.result.Ba()],k.next.bind(k))});const l=()=>{m&&c.Rz(m);{var n=a.ub;const r=n.O.get(d);var p;if(p=r)p=r,0<p.counter?p.counter--:olympe.rb.Eb('dc').warn('Try to decrement counter of query metadata below 0. Investigate...'),p=0===p.counter;p&&(r.destroy(),n.O.delete(d),n.T.delete(d))}},m=c.Vd(l);if(e===olympe.dc.$b.nh)ej(a.R,b,!0,n=>{n?(k.error(n),l()):qj(a,d,b,g,c)});
|
|
1299
|
-
olympe.dc.$b.Jd)qj(a,d,b,g,c);else
|
|
1298
|
+
olympe.dc.query.df.xI=class{constructor(a,b,c,d,e,f){this.Y=a;this.db=b;this.ub=c;this.C=d;this.F=f}process(a,b,c){jj(this,a,b,c)}notify(a,b){const c=b.xa();this.Y.debug(`Register notification of list subscription ${c} for destination ${a}`);const d=()=>{const f=new olympe.dc.query.vI(c);b.$h(g=>f.F(g));Mi(olympe.dc.oo(),f)};let e=!1;b.forEach(()=>{e&&d()});b.Mm(()=>{e=!0;d()})}};olympe.dc.query.df.xI.ua=[olympe.dc.Ep];function Ci(a,b,c){const d=b.xa(),e=b.source,f=a.ub.O.has(d),g=Xi(a.ub,b);return new rxjs.Observable(k=>{c.run(()=>{olympe.j.ab([g.result.Ba()],k.next.bind(k))});const l=()=>{m&&c.Rz(m);{var n=a.ub;const r=n.O.get(d);var p;if(p=r)p=r,0<p.counter?p.counter--:olympe.rb.Eb('dc').warn('Try to decrement counter of query metadata below 0. Investigate...'),p=0===p.counter;p&&(r.destroy(),n.O.delete(d),n.T.delete(d))}},m=c.Vd(l);if(!f)if(e===olympe.dc.$b.nh)ej(a.R,b,!0,n=>{n?(k.error(n),l()):qj(a,d,b,g,c)});
|
|
1299
|
+
else if(e===olympe.dc.$b.Jd)qj(a,d,b,g,c);else{const n=uf(tf(new olympe.dc.bb(olympe.dc.bb.eb.lJ,b,[e]),c),p=>{p&&(k.error(p.message),l())});a.O.send(n)}return l})}
|
|
1300
1300
|
function qj(a,b,c,d,e){const f=new olympe.dc.qa.eJ(c);Fh(f,()=>{var p=a.ub;p.O.has(b)&&p.T.add(b)});d.F=f;let g=(p,r)=>{p?a.Y.debug(`New result tuple for query ${b}, ${r}`):a.Y.debug(`Removed result tuple for query ${b}, ${r}`)};d=c.C;const k=d.reduce((p,r)=>{p.push(r.F(p[p.length-1]));return p},[0]);for(let p=d.length-1;0<=p;p--)g=d[p].observe(f,k[p],g);const l=a.F.view,m=c.O,n=qf(l,m,(p,r)=>{p?Ih(f,r,0,null):f.remove(r,0,null);g(p,r,null,b)});e.Vd(()=>rf(l,m,n));Yi(a.ub,b)}
|
|
1301
1301
|
olympe.dc.query.df.eS=class{constructor(a,b,c,d,e,f){this.Y=a;this.ub=b;this.R=c;this.C=d;this.O=e;this.F=f;this.init()}Wc(a,b){return new Promise((c,d)=>{var e=a.source;if(e===olympe.dc.$b.nh)ej(this.R,a,!1,f=>{f?d(f):c(this.$k(a))});else if(e===olympe.dc.$b.Jd)c(this.$k(a));else{const f=a.xa(),g=this.C.C.has(f),k=m=>{var n=this.C;Rh(n,f,n.O);d(m||`The execution of the query ${f} has been interrupted`)},l=b.Vd(k);Uh(this.C,f,(m,n)=>{b.Rz(l);m?d(m.message):(b.Vd(()=>{Of(this.F,null,xh(n))}),c(n))});
|
|
1302
1302
|
g||(e=uf(tf(new olympe.dc.bb(olympe.dc.bb.eb.iJ,a,[e]),b),m=>m&&k(m.message)),this.O.send(e))}})}$k(a){const b=new olympe.dc.qa.eJ(a);Fh(b,()=>{});Ih(b,a.O,0,null);let c=0;for(const d of a.C)d.Wc(b,c),c=d.F(c);return olympe.dc.Ac.from(olympe.dc.Ac.empty(),b)}init(){const a=olympe.dc.bb.eb.kJ,b=(c,d)=>Ah(c,e=>{Of(this.F,Array.from(e.ej()).filter(f=>f.uk()).map(f=>f.tag()));this.F.Pm(e,d)},d);this.O.C(olympe.dc.bb.eb.QUERY_RESULT,(c,{i:d,r:e,s:f})=>{c=b(e,f);null===c?(c=this.C,Sh(c,d,`Error while deserialization of QueryResult for query ${d}`,
|