@olympeio/runtime-node 9.11.12 → 9.11.13
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":1,"t":"100000000000000000dd","p":{"017869c7d2833c9492c1":"@olympeio/runtime","017869c80bb9929c76d0":"9.11.
|
|
1
|
+
{"rootTag":"100000000000000000dd","operations":[{"o":1,"t":"100000000000000000dd","p":{"017869c7d2833c9492c1":"@olympeio/runtime","017869c80bb9929c76d0":"9.11.13","ff023000000000000011":"Primordial"}},{"o":1,"t":"00000000000000000060","p":{"ff023000000000000011":"Embedded Graph Database","ff023000000000000060":true,"ff023000000000000063":"hybrid","ff023000000000000065":false}}],"optionalOperations":[{"o":1,"t":"10000000000000000001","p":{"ff023000000000000011":"Olympe Libraries"}},{"o":1,"t":"10000000000000000002","p":{"ff023000000000000011":"Internal"}},{"o":1,"t":"10000000000000000000","p":{"ff023000000000000011":"Home"}}]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"rootTag":"100000000000000000dd","operations":[{"o":2,"t":"014831d95fd7d12b8568","p":{"ff023000000000000001":"admin","ff023000000000000004":"
|
|
1
|
+
{"rootTag":"100000000000000000dd","operations":[{"o":2,"t":"014831d95fd7d12b8568","p":{"ff023000000000000001":"admin","ff023000000000000004":"e8f0b213513fbc582815aee188e796a35dede3b29981b8b1467d7ea476f64534","ff023000000000000005":"61c2df1a6409e961f0533dd3ae274d2da227314ad32ba63871e7b086b0017035715439d6c9399f1825b6a241942636074606b89cc6ab0bd3820964584f4fe238108e46dde43cdffd1c129436458833c3225c78a8f97f68901b152e419c71f94ae1fffa63303482967b633afbbe06291999bc2eae40c87920fa5b935f00447128a98a8b5469d7d3c00c827bab5a15390741be5aab6c102e535f27fa29d389f436edbfae5e962d43b5cd8bac7e9a34ed3071ca04f79ceaab83e6132934574307c201d73acce89d20176a65e516a9cc555518589fb4ebb15b7f9c2892b1c6e1c9e96bf1ae0f0a7438ccbb9dae3c072e715cd939d30de2378cfbc5299187664c9fe"}},{"o":2,"t":"0163d9653067b6237f62","p":{"ff023000000000000001":"guest","ff023000000000000004":"63d82b277ec1fa38dc173c3f4ec8b148576d8474c0014b884dba4a73eb7d89ef","ff023000000000000005":"16ebed2895f980028709dcb89962b39bb62f89fc83d3d067ac009b6a08692955f14bb6b4037de3ffa2490e782b8cd0b1b649c93e7240da93d6debb3c5f28ca66cee7ff4b6f63f19567a44aa92e16952c1fcd56b0fd2f510b68f2f08f1d5afc9124b051e92bac75205dc041a6270f630d8f7062af7c092ec399e56e81e7cc9390bf1bf5d8748fcbdcc631c40f3808b798a5b98ac915c7bb5108565750b8af0d8ddf01d6e690b94d3f902028bcf348feb4e79fdf5e1b4eb97526f73ac99351f2bcc83610b8d3db0c6cea2447f8bcde6caa16d1ce71801e28b163a7181149e725d0985e7ae9b6c671099a77c341186372b498466893e6e64058b26a16574761cb52"}}],"optionalOperations":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"rootTag":"100000000000000000dd","operations":[{"o":1,"t":"017a7a9ff057958e5678","p":{"ff023000000000000011":"Enums"}},{"o":1,"t":"017a7a9ff058958e5678","p":{"01703376c4a81c0e9d91":"Allows defining one or more enums.","01703376c4a81c0e9d92":"An enum is an ordered list of entries, with a `Value` and a `Display Name`. The `Value` is the actual value being used within dataflows, while the `Display Name` is the text displayed in DRAW.<br/><br/>Enums are treated as *types* within Olympe, and they can therefore be used in various places:\n- In Functions and Actions, as types of inputs and outputs\n- In Visual Components, as types of properties\n- In Data Models, as types of properties within Data Types\n\n"}},{"o":1,"t":"016cdd861b32d56c8208","p":{"ff023000000000000011":"Enum Item"}},{"o":1,"t":"01645fe6873aeea59e64","p":{"ff023000000000000011":"Config Data Set"}},{"o":1,"t":"017ed8ac775f48d4d589","p":{"ff023000000000000011":"dataRel","ff023000000000000030":543,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":6,"ff023000000000000237":0,"ff023000000000000337":2,"ff023000000000000437":2,"ff023000000000000537":0}},{"o":1,"t":"01645fe6873beea59e64","p":{"01703376c4a81c0e9d91":"Set of Config Data Type instances.","01703376c4a81c0e9d92":"Config Data Sets are used to create instances of Config Data Types.\nThey are typically used to create sets of data that can be used by your application as configuration, a bit like enums, with custom properties.<br/><br/>Since that data is part of the definition of applications, it cannot be updated by applications at runtime.\nCompared to instances of regular Data Types, which are created and modified by users at runtime, records inside Config Data Sets are saved during the export of the project, as part of the application data."}},{"o":1,"t":"016324fde11a836f77d3","p":{"ff023000000000000011":"Config Data Type"}},{"o":1,"t":"016324fde11a836088d3","p":{"ff023000000000000011":"Config Data Type -> Project","ff023000000000000030":610,"ff023000000000000031":96,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":5,"ff023000000000000237":8,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":0}},{"o":1,"t":"016324fde11b836f77d3","p":{"01703376c4a81c0e9d91":"A data structure to be used as configuration within bricks and applications.","01703376c4a81c0e9d92":"A Config 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.\nCompare to regular Data Types, a Config Data Type is defined in a *Config Data Model*, and it must be instantiated in a *Config Data Set*."}},{"o":1,"t":"0163a68ce44f3d1fa95d","p":{"ff023000000000000011":"Config Data Model"}},{"o":1,"t":"0163a68ce4503d1fa95d","p":{"01703376c4a81c0e9d91":"Defines Config Data Types and their relations.","01703376c4a81c0e9d92":"A Config Data Model is where you define the data structures called *Config Data Types*, which can be used within bricks and applications as configuration.<br/><br/>A Config Data Model allows defining complex data structure with multiple config data types, properties and relations.<br/><br/>A project can have multiple Config Data Models."}},{"o":1,"t":"016324fde11a836f76c2","p":{"ff023000000000000011":"Data Type"}},{"o":1,"t":"016324fde11a836087c2","p":{"ff023000000000000011":"Data Type -> Project","ff023000000000000030":610,"ff023000000000000031":96,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":5,"ff023000000000000237":8,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":0}},{"o":1,"t":"016324fde11b836f76c2","p":{"01703376c4a81c0e9d91":"Defines a new type.","01703376c4a81c0e9d92":"A Data Type is very similar to the concept of 'Class' in object-oriented programming languages, or to a table in a relational database. A data type can contain:\n- Properties: values attached to data type instances\n- Relations: these are many-to-many relationships between data type instances.\n\n"}},{"o":1,"t":"0163a68ce44f3d1fa84c","p":{"ff023000000000000011":"Data Model"}},{"o":1,"t":"0163a68ce4503d1fa84c","p":{"01703376c4a81c0e9d91":"Defines data types and relations between them.","01703376c4a81c0e9d92":"A Data Model enables defining the structure of the data that the application and its users will manage.A single Data Model can define multiple Data Types, as well as the relations between them. A project can have multiple Data Models."}},{"o":1,"t":"017b3aa8fae1e3d044dc","p":{"ff023000000000000011":"Business Container"}},{"o":1,"t":"017b3aa8fd1659291b92","p":{"ff023000000000000011":"business container to project","ff023000000000000030":515,"ff023000000000000031":1,"ff023000000000000034":0,"ff023000000000000037":9,"ff023000000000000137":9,"ff023000000000000237":0,"ff023000000000000337":9,"ff023000000000000437":9,"ff023000000000000537":0}},{"o":1,"t":"017b3aa8fe7ec3fd52f2","p":{"ff023000000000000011":"business container to runtime objects","ff023000000000000030":543,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":0,"ff023000000000000137":6,"ff023000000000000237":2,"ff023000000000000337":0,"ff023000000000000437":0,"ff023000000000000537":0}},{"o":1,"t":"01644b6d4543b344b857","p":{"ff023000000000000011":"Media Library"}},{"o":1,"t":"01644b6d4544b344b857","p":{"01703376c4a81c0e9d91":"A repository for media resources.","01703376c4a81c0e9d92":"A Media Library stores assets like images, videos and fonts that can be used within the project."}},{"o":1,"t":"01644b6297305d62fca2","p":{"ff023000000000000011":"Image File"}},{"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."}},{"o":1,"t":"016eb13ba1388f7bdd71","p":{"ff023000000000000011":"picture_default","ff023000000000000050":"picture_default.svg","ff023000000000000051":{"c":4,"h":12,"m":19,"s":17,"S":695,"z":0,"y":2025,"M":11,"d":12},"ff023000000000000052":"image/svg+xml","ff023000000000000053":"images/picture_default.svg","ff023000000000000054":false,"ff023000000000000055":{"c":4,"h":12,"m":19,"s":17,"S":695,"z":0,"y":2025,"M":11,"d":12}}},{"o":1,"t":"01647e113043c637b541","p":{"fd01647e677f5d1cfbdf42":"normal","fd01647e6780999bf8bd25":300,"ff023000000000000011":"Font File"}},{"o":1,"t":"01647e35ecd24ef0b88d","p":{"ff023000000000000011":"Font Family"}},{"o":1,"t":"01647e677f5d1cfbdf42","p":{"ff023000000000000011":"Font Style"}},{"o":1,"t":"01647e6780999bf8bd25","p":{"ff023000000000000011":"Font Weight"}},{"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"}},{"o":1,"t":"0164643c432146a71d5c","p":{"ff023000000000000011":"Video File"}},{"o":1,"t":"0164643c432246a71d5c","p":{"01703376c4a81c0e9d91":"A file containing a video recording.","01703376c4a81c0e9d92":"A Video File contains a binary encoded video. Supported formats are mp4, mpeg and avi."}},{"o":1,"t":"0163c9ae01f2d6e9ca49","p":{"ff023000000000000011":"ObjectRef"}},{"o":1,"t":"0163c9ae0401d21eb0c3","p":{"ff023000000000000011":"objectTag"}},{"o":1,"t":"0169b5a8a33144fb0b49","p":{"ff023000000000000011":"reference","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":9,"ff023000000000000237":2,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":2}},{"o":1,"t":"016421bb3797e22d1c4e","p":{"ff023000000000000011":"Video Stream"}},{"o":1,"t":"0162f672366be5ca7a86","p":{"ff023000000000000011":"Type"}},{"o":1,"t":"018119241abce0e5696e","p":{"ff023000000000000011":"Map"}},{"o":1,"t":"018119241abde0e5696e","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."}},{"o":1,"t":"01631aacd8276ea98490","p":{"ff023000000000000011":"List"}},{"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."}},{"o":1,"t":"016cfca73e63f9ab5ba4","p":{"ff023000000000000011":"Text"}},{"o":1,"t":"01631aacd8276ea98491","p":{"ff023000000000000011":"Array"}},{"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).<br/><br/>This is similar to arrays in programming languages."}},{"o":1,"t":"01631aacd8276ea98492","p":{"ff023000000000000011":"Query Result"}},{"o":1,"t":"01631aacd8286ea98492","p":{"01703376c4a81c0e9d91":"An ordered collection of objects.","01703376c4a81c0e9d92":"A **QueryResult** is a collection of object tuples produced by the execution of a Query. It can be accessed sequentially (one entry after the other) or directly by specifying the rank of the entry (e.g. the 3rd entry).<br/><br/>This is similar to arrays in programming languages."}},{"o":1,"t":"01631aacd8276ea98493","p":{"ff023000000000000011":"Query"}},{"o":1,"t":"01631aacd8286ea98493","p":{"01703376c4a81c0e9d91":"TODO","01703376c4a81c0e9d92":"TODO"}},{"o":1,"t":"01631aacd8276ea98494","p":{"ff023000000000000011":"Filter Type"}},{"o":1,"t":"01631aacd8286ea98494","p":{"01703376c4a81c0e9d91":"TODO","01703376c4a81c0e9d92":"TODO"}},{"o":1,"t":"01631aacd8276ea98495","p":{"ff023000000000000011":"Sort Direction"}},{"o":1,"t":"01631aacd8286ea98495","p":{"01703376c4a81c0e9d91":"TODO","01703376c4a81c0e9d92":"TODO"}},{"o":1,"t":"01631aacd8276ea98496","p":{"017a7690c915975ea995":0,"ff023000000000000011":"equals","ff023000000000000026":"equals"}},{"o":1,"t":"01631aacd8276ea98497","p":{"017a7690c915975ea995":1,"ff023000000000000011":"different","ff023000000000000026":"different"}},{"o":1,"t":"01631aacd8276ea98498","p":{"017a7690c915975ea995":2,"ff023000000000000011":"contains","ff023000000000000026":"contains"}},{"o":1,"t":"01631aacd8276ea98499","p":{"017a7690c915975ea995":3,"ff023000000000000011":"greater than","ff023000000000000026":"greater than"}},{"o":1,"t":"01631aacd8276ea9849a","p":{"017a7690c915975ea995":4,"ff023000000000000011":"greater or equals","ff023000000000000026":"greater or equals"}},{"o":1,"t":"01631aacd8276ea9849b","p":{"017a7690c915975ea995":5,"ff023000000000000011":"smaller than","ff023000000000000026":"smaller than"}},{"o":1,"t":"01631aacd8276ea9849c","p":{"017a7690c915975ea995":6,"ff023000000000000011":"smaller or equals","ff023000000000000026":"smaller or equals"}},{"o":1,"t":"01631aacd8276ea9849d","p":{"017a7690c915975ea995":7,"ff023000000000000011":"regexp","ff023000000000000026":"regexp"}},{"o":1,"t":"01631aacd8276ea9849e","p":{"017a7690c915975ea995":0,"ff023000000000000011":"ascending","ff023000000000000026":"ascending"}},{"o":1,"t":"01631aacd8276ea9849f","p":{"017a7690c915975ea995":1,"ff023000000000000011":"descending","ff023000000000000026":"descending"}},{"o":1,"t":"018312ceeb3e93618a85","p":{"ff023000000000000011":"Context"}},{"o":1,"t":"018312ceeb3f93618a85","p":{"01703376c4a81c0e9d91":"Context of a brick","01703376c4a81c0e9d92":"A Context is a placeholder to store some key/value related to a specific part (context) of the application"}},{"o":1,"t":"01621fb84e320000cf00","p":{"ff023000000000000011":"Control Flow"}},{"o":1,"t":"016eeb5ede9f3094d8f0","p":{"ff023000000000000011":"Error Flow"}},{"o":1,"t":"016ac4f59ee8ea2081ba","p":{"ff023000000000000011":"Predefined IO","ff023000000000000012":true}},{"o":1,"t":"017bc044aeacce7ffc8f","p":{"ff023000000000000011":"Predefined IO Rank"}},{"o":1,"t":"016ac4f5a0091c4790e2","p":{"ff023000000000000011":"Predefined Type IO","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":9,"ff023000000000000237":1,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":2}},{"o":1,"t":"016ac4f59c592b862457","p":{"ff023000000000000011":"Predefined Input"}},{"o":1,"t":"016ac4f59dd99f5df3e1","p":{"ff023000000000000011":"Predefined Output"}},{"o":1,"t":"0168a431d25001540000","p":{"ff023000000000000011":"Runnable IO","ff023000000000000012":true}},{"o":1,"t":"01740c5d4ae4b520dd01","p":{"ff023000000000000011":"IO Rank"}},{"o":1,"t":"0168a431d3b9b7438424","p":{"ff023000000000000011":"Type IO","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":9,"ff023000000000000237":1,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":2}},{"o":1,"t":"0168a431d25001540001","p":{"ff023000000000000011":"Runnable Input"}},{"o":1,"t":"01740c5d4ae4b520dd02","p":{"ff023000000000000011":"Default Value"}},{"o":1,"t":"0168a431d25001540002","p":{"ff023000000000000011":"Runnable Output"}},{"o":1,"t":"011100000000000adef0","p":{"ff023000000000000011":"Function Signature"}},{"o":1,"t":"016ac4f59a2917fdef01","p":{"ff023000000000000011":"Predefined Inputs rel","ff023000000000000030":543,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":6,"ff023000000000000237":2,"ff023000000000000337":2,"ff023000000000000437":2,"ff023000000000000537":2}},{"o":1,"t":"016ac4f59a2917fdef02","p":{"ff023000000000000011":"Predefined Outputs rel","ff023000000000000030":543,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":6,"ff023000000000000237":2,"ff023000000000000337":2,"ff023000000000000437":2,"ff023000000000000537":2}},{"o":1,"t":"011100000001000adef0","p":{"01703376c4a81c0e9d91":"A signature for functions","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 as types within the inputs or outputs of Functions and Actions, as well as within properties of Visual Components.<br/><br/>A Function Signature is analogous to an <a href=\"https://en.wikipedia.org/wiki/Interface_(object-oriented_programming)\" targer=\"_blank\">interface</a> in object-oriented programming."}},{"o":1,"t":"0112000000000000def0","p":{"fd01692aa71f3108454479":false,"ff023000000000000011":"Runnable Definition"}},{"o":1,"t":"01692aa71f3108454479","p":{"ff023000000000000011":"hardcoded"}},{"o":1,"t":"0166446c1f128ebc903a","p":{"ff023000000000000011":"On Load"}},{"o":1,"t":"0166446c1f128ebc904e","p":{"ff023000000000000011":"On Error"}},{"o":1,"t":"01621fb84e320000f00a","p":{"ff023000000000000011":"Inputs","ff023000000000000030":543,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":6,"ff023000000000000237":2,"ff023000000000000337":2,"ff023000000000000437":2,"ff023000000000000537":2}},{"o":1,"t":"01621fb84e320000f00b","p":{"ff023000000000000011":"Outputs","ff023000000000000030":543,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":6,"ff023000000000000237":2,"ff023000000000000337":2,"ff023000000000000437":2,"ff023000000000000537":2}},{"o":1,"t":"0171838bcfed0000e00e","p":{"ff023000000000000011":"Super Definition","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":5,"ff023000000000000237":2,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":0}},{"o":1,"t":"0171838bcfed0000a00a","p":{"ff023000000000000011":"Auxiliary model","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":5,"ff023000000000000237":2,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":0}},{"o":1,"t":"01130000000000ca1100","p":{"ff023000000000000011":"Runnable","ff023000000000000012":true}},{"o":1,"t":"01692a4af82e8984742b","p":{"ff023000000000000011":"Definition of runnable","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":9,"ff023000000000000237":2,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":2}},{"o":1,"t":"01756a18d4921c103111","p":{"ff023000000000000011":"Anonymous definition","ff023000000000000030":543,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":10,"ff023000000000000137":10,"ff023000000000000237":1,"ff023000000000000337":10,"ff023000000000000437":10,"ff023000000000000537":10}},{"o":1,"t":"01692a4af82e8984742c","p":{"ff023000000000000011":"Calls Runnable","ff023000000000000030":543,"ff023000000000000031":31,"ff023000000000000034":4,"ff023000000000000037":2,"ff023000000000000137":6,"ff023000000000000237":2,"ff023000000000000337":2,"ff023000000000000437":2,"ff023000000000000537":2}},{"o":1,"t":"01692a4af82e8984742d","p":{"ff023000000000000011":"Conditional Calls Runnable","ff023000000000000030":543,"ff023000000000000031":31,"ff023000000000000034":4,"ff023000000000000037":2,"ff023000000000000137":6,"ff023000000000000237":1,"ff023000000000000337":2,"ff023000000000000437":2,"ff023000000000000537":2}},{"o":1,"t":"01692a4af82e8984742e","p":{"ff023000000000000011":"Extra Calls Runnable","ff023000000000000030":543,"ff023000000000000031":31,"ff023000000000000034":4,"ff023000000000000037":4,"ff023000000000000137":6,"ff023000000000000237":2,"ff023000000000000337":4,"ff023000000000000437":4,"ff023000000000000537":2}},{"o":1,"t":"016c2d996d9ca27fa9d8","p":{"ff023000000000000011":"Delegate","ff023000000000000012":true}},{"o":1,"t":"016c3cb7742ec9309e0b","p":{"ff023000000000000011":"Delegator Relation","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":5,"ff023000000000000237":1,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":0}},{"o":1,"t":"016c42d3454636f90533","p":{"ff023000000000000011":"Delegated Properties","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":5,"ff023000000000000237":1,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":0}},{"o":1,"t":"016d3f37610ae4fc3962","p":{"ff023000000000000011":"SizeDelegator"}},{"o":1,"t":"01621fb84e320000f000","p":{"ff023000000000000011":"Function"}},{"o":1,"t":"0162f15740c36629dc57","p":{"ff023000000000000011":"description"}},{"o":1,"t":"01621fb84e330000f000","p":{"01703376c4a81c0e9d91":"A Function takes inputs and produces outputs.","01703376c4a81c0e9d92":"A Function is the basic logic brick. It takes one or several inputs and produces one or several outputs.\nFor instance `Plus` is a Function that takes 2 numbers as inputs an produces, as output, a number that is the sum of these 2 inputs.<br/><br/>A Function can be reused within other Functions, Actions and Visual Components.<br/><br/>By default, a Function is triggered once each one of its inputs has been defined, and then everytime one of its inputs changes."}},{"o":1,"t":"01621fb84e320000f011","p":{"ff023000000000000011":"Coded Function"}},{"o":1,"t":"01621fb84e330000f011","p":{"01703376c4a81c0e9d91":"A Function implemented using code.","01703376c4a81c0e9d92":"A Coded Function is a function implemented using code, such as JavaScript or TypeScript.<br/><br/>Coded Functions are typically used to add new functionalities within applications, or to implement more complex logic."}},{"o":1,"t":"0168c6f020f2a96f0000","p":{"ff023000000000000011":"Function Call","ff023000000000000012":true}},{"o":1,"t":"0168a431d91f25780000","p":{"ff023000000000000011":"Pipe"}},{"o":1,"t":"0168a431d91f25780001","p":{"ff023000000000000011":"Source Value"}},{"o":1,"t":"0168a431d91f25780002","p":{"ff023000000000000011":"Source Scope","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":9,"ff023000000000000237":2,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":8}},{"o":1,"t":"0168a431d91f25780003","p":{"ff023000000000000011":"Source Output","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":9,"ff023000000000000237":2,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":8}},{"o":1,"t":"0168a431d91f25780004","p":{"ff023000000000000011":"Source Property","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":9,"ff023000000000000237":2,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":8}},{"o":1,"t":"0168a431d91f2578000a","p":{"ff023000000000000011":"Destination Scope","ff023000000000000030":994,"ff023000000000000031":992,"ff023000000000000034":0,"ff023000000000000037":9,"ff023000000000000137":9,"ff023000000000000237":10,"ff023000000000000337":9,"ff023000000000000437":9,"ff023000000000000537":8}},{"o":1,"t":"0168a431d91f2578000b","p":{"ff023000000000000011":"Destination Input","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":9,"ff023000000000000237":2,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":8}},{"o":1,"t":"0168a431d91f2578000c","p":{"ff023000000000000011":"Destination Property","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":9,"ff023000000000000237":2,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":8}},{"o":1,"t":"01621fb84e32000000a0","p":{"01621fb84e320000f001":"private","ff023000000000000011":"Ascender"}},{"o":1,"t":"01621fb84e32000000a1","p":{"ff023000000000000011":"Input","ff023000000000000030":543,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":10,"ff023000000000000237":2,"ff023000000000000337":2,"ff023000000000000437":2,"ff023000000000000537":0}},{"o":1,"t":"01621fb84e32000000a2","p":{"ff023000000000000011":"Upward","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":10,"ff023000000000000237":1,"ff023000000000000337":2,"ff023000000000000437":2,"ff023000000000000537":0}},{"o":1,"t":"01621fb84e32000000d0","p":{"01621fb84e320000f001":"private","ff023000000000000011":"Descender"}},{"o":1,"t":"01621fb84e32000000d1","p":{"ff023000000000000011":"Downward","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":10,"ff023000000000000237":1,"ff023000000000000337":2,"ff023000000000000437":2,"ff023000000000000537":0}},{"o":1,"t":"01621fb84e32000000d2","p":{"ff023000000000000011":"Output","ff023000000000000030":543,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":10,"ff023000000000000237":2,"ff023000000000000337":2,"ff023000000000000437":2,"ff023000000000000537":0}},{"o":1,"t":"01621fb84e320000a000","p":{"ff023000000000000011":"Action"}},{"o":1,"t":"016ac63229782039429f","p":{"017bc044aeacce7ffc8f":0,"ff023000000000000011":"Control Flow"}},{"o":1,"t":"016ac6322acf67eebfe7","p":{"017bc044aeacce7ffc8f":0,"ff023000000000000011":"Control Flow"}},{"o":1,"t":"01621fb84e330000a000","p":{"01703376c4a81c0e9d91":"A function takes inputs and produces outputs.","01703376c4a81c0e9d92":"An Action is the other basic logic brick. It also takes one or several inputs and produces one or several outputs.\nAdditionally, an Action has an input and output *control flows*. The Action is executed when the input control flow is triggered, and it defines all outputs before the output control flow is triggered.<br/><br/>By default, an action is triggered everytime the control flow is triggered, regardless of the value of the other inputs.<br/><br/>An Action can be reused within other Functions, Actions and Visual Components."}},{"o":1,"t":"01621fb84e320000f012","p":{"ff023000000000000011":"Coded Action"}},{"o":1,"t":"01621fb84e330000f012","p":{"01703376c4a81c0e9d91":"An Action implemented using code.","01703376c4a81c0e9d92":"A Coded Action is an Action implemented using code, such as JavaScript or TypeScript.<br/><br/>Coded Actions are typically used to add new functionalities within applications, or to implement more complex logic."}},{"o":1,"t":"0168c6f020f2a96a0000","p":{"ff023000000000000011":"Action Call","ff023000000000000012":true}},{"o":1,"t":"016a9766c230916ea5ec","p":{"ff023000000000000011":"Service"}},{"o":1,"t":"016ac63c5b3ed0562740","p":{"017bc044aeacce7ffc8f":0,"ff023000000000000011":"Control Flow"}},{"o":1,"t":"016a9766c231916ea5ec","p":{"01703376c4a81c0e9d91":"A long running action to be run in a Service Application.","01703376c4a81c0e9d92":"A Service is an Action meant to be run inside a Service App. The Service is triggered when the Service App starts, and runs until the Service App stops.<br/><br/>A Service has no input, and its configuration is therefore generally read from configuration files, APIs or other external sources.<br/><br/>Typical uses of Services are to run batch jobs, expose web services, or listen to outside events such as incoming emails."}},{"o":1,"t":"0169b6876a03f139d50a","p":{"ff023000000000000011":"Interaction Event Definition"}},{"o":1,"t":"016ac63808535703691c","p":{"017bc044aeacce7ffc8f":0,"ff023000000000000011":"Control Flow"}},{"o":1,"t":"0169b6876a03f14ae61b","p":{"ff023000000000000011":"Error Handler Definition"}},{"o":1,"t":"016ac638085357047a2d","p":{"017bc044aeacce7ffc8f":0,"ff023000000000000011":"Error Flow"}},{"o":1,"t":"017a7b07a948e30508fa","p":{"ff023000000000000011":"Remote Action"}},{"o":1,"t":"017a7b07b09e3b22c8b4","p":{"017bc044aeacce7ffc8f":0,"ff023000000000000011":"Control Flow"}},{"o":1,"t":"017a7b07ba05807a74b0","p":{"017bc044aeacce7ffc8f":1,"ff023000000000000011":"User"}},{"o":1,"t":"017a7b0818c12388d731","p":{"017bc044aeacce7ffc8f":0,"ff023000000000000011":"Control Flow"}},{"o":1,"t":"017a7b085146d5e69aec","p":{"017bc044aeacce7ffc8f":1,"ff023000000000000011":"Error Flow"}},{"o":1,"t":"017a7b07a949e30508fa","p":{"01703376c4a81c0e9d91":"An action running remotely in a Service App.","01703376c4a81c0e9d92":"A Remote Action is an Action which is running within a Service App. It behaves and it is used like an action, but it runs remotely. The Remote Action takes care of serializing the inputs, send them to the Service App, executes the content of the Remote Action, and serializes the outputs back to the caller.<br/><br/>Remote Actions are typically used to call APIs, databases, send emails and perform other back-end operations.<br/><br/>A remote action is synchronous, and can therefore be subject to timeouts if running for too long. The timeout value is configurable per environment."}},{"o":1,"t":"017a7b0c5dcbd8964c5d","p":{"fd017a7b0c62a02a89444f":false,"ff023000000000000011":"Remote Action Call","ff023000000000000012":true}},{"o":1,"t":"017a7b0c62a02a89444f","p":{"ff023000000000000011":"listener"}},{"o":1,"t":"011203300000000adf00","p":{"fd011203300000000adf01":0,"fd011203300000000adf02":20000,"ff023000000000000011":"System Information"}},{"o":1,"t":"011203300000000adf01","p":{"ff023000000000000011":"appController timestamp"}},{"o":1,"t":"011203300000000adf02","p":{"ff023000000000000011":"appController heart rate"}},{"o":1,"t":"011203300000000adf0f","p":{}},{"o":1,"t":"01120300000000adef00","p":{"ff023000000000000011":"Application Definition","ff023000000000000012":true}},{"o":1,"t":"0171bc1f15da96dfdb89","p":{"ff023000000000000011":"app project import","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":5,"ff023000000000000237":2,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":0}},{"o":1,"t":"0171bc1f15da96dfdb90","p":{"ff023000000000000011":"deploy data source","ff023000000000000030":543,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":6,"ff023000000000000237":2,"ff023000000000000337":2,"ff023000000000000437":2,"ff023000000000000537":2}},{"o":1,"t":"011203300000000adef5","p":{"fd011203300000000adef6":false,"fd011203300000000adef7":false,"fd011203300000000adef8":0,"ff023000000000000011":"Deployment Info"}},{"o":1,"t":"011203300000000adef6","p":{"ff023000000000000011":"activated"}},{"o":1,"t":"011203300000000adef7","p":{"ff023000000000000011":"rebuild"}},{"o":1,"t":"011203300000000adef8","p":{"ff023000000000000011":"status"}},{"o":1,"t":"011203300000000adef9","p":{"ff023000000000000011":"last error"}},{"o":1,"t":"011203300000000adefa","p":{"ff023000000000000011":"project URL"}},{"o":1,"t":"011203300000000adefb","p":{"ff023000000000000011":"project branch"}},{"o":1,"t":"011203300000000adefc","p":{"ff023000000000000011":"build command"}},{"o":1,"t":"011203300000000adefd","p":{"ff023000000000000011":"project config"}},{"o":1,"t":"011203300000000adefe","p":{"ff023000000000000011":"logs"}},{"o":1,"t":"011203300000000adeff","p":{"ff023000000000000011":"port mappings"}},{"o":1,"t":"011203300000000adee0","p":{"ff023000000000000011":"dependencies"}},{"o":1,"t":"011203300000000adef3","p":{"ff023000000000000011":"Service App"}},{"o":1,"t":"011203300000000adef4","p":{"ff023000000000000011":"Deployment Info","ff023000000000000030":543,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":6,"ff023000000000000237":2,"ff023000000000000337":2,"ff023000000000000437":2,"ff023000000000000537":0}},{"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 on any edge or IoT device that does not have a screen. They run in the background and are typically used to capture data from a third party, process data, perform data input validation, etc."}},{"o":1,"t":"017dc8d6c8fd8c8bd2ff","p":{"ff023000000000000011":"Data Connector"}},{"o":1,"t":"0113030000000aca1100","p":{"ff023000000000000011":"Application","ff023000000000000012":true}},{"o":1,"t":"0113032000000aca1102","p":{"ff023000000000000011":"Headless Application","ff023000000000000012":true}},{"o":1,"t":"017ffdc010e5bcc9c971","p":{"fd017ffdc010e5bcc9c972":false,"ff023000000000000011":"Workflow"}},{"o":1,"t":"017ffdc010e5bcc9c972","p":{"ff023000000000000011":"Serialization Enabled"}},{"o":1,"t":"017ffdc010e5bcc9c973","p":{"ff023000000000000011":"Data Type","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":5,"ff023000000000000237":1,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":2}},{"o":1,"t":"017ffdc010e5bcc9c974","p":{"ff023000000000000011":"States","ff023000000000000030":543,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":6,"ff023000000000000137":6,"ff023000000000000237":2,"ff023000000000000337":6,"ff023000000000000437":6,"ff023000000000000537":0}},{"o":1,"t":"017ffdc010e5bcc9c975","p":{"ff023000000000000011":"Initial State","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":5,"ff023000000000000237":1,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":0}},{"o":1,"t":"017ffdc010e6bcc9c971","p":{"01703376c4a81c0e9d91":"Defines states and transitions between states.","01703376c4a81c0e9d92":"A Workflow defines a set of *states* through which the instances of a Data Type can go through, as well as the transitions allows between those states.<br/><br/>A Workflow can therefore be seen as a state machine. Each transition can have an optional *Process Function*, which can embed any custom logic to:\n- Add predefined processing within a transition\n- Add additional verification logic to allow or deny the transition to happen\n\nEach Workflow is assigned to a Data Type, and can then be used to control the possible states of the instances of that Data Type."}},{"o":1,"t":"017ffdc2dda51d46b430","p":{"ff023000000000000011":"Workflow State"}},{"o":1,"t":"017ffdc2dda61d46b430","p":{"01703376c4a81c0e9d91":"A single state of a workflow sequence.","01703376c4a81c0e9d92":"A Workflow State represents a single state in a workflow."}},{"o":1,"t":"017ffde21f5fe0f704ce","p":{"ff023000000000000011":"Workflow Process Function Definition"}},{"o":1,"t":"017ffe02381f9fac5060","p":{"017bc044aeacce7ffc8f":0,"ff023000000000000011":"Control Flow"}},{"o":1,"t":"017ffe02381f9fac5061","p":{"017bc044aeacce7ffc8f":1,"ff023000000000000011":"Object"}},{"o":1,"t":"017ffe02381f9fac5062","p":{"017bc044aeacce7ffc8f":2,"ff023000000000000011":"User"}},{"o":1,"t":"017ffe02381f9fac5065","p":{"017bc044aeacce7ffc8f":3,"ff023000000000000011":"Data Map"}},{"o":1,"t":"017ffe02381f9fac5063","p":{"017bc044aeacce7ffc8f":0,"ff023000000000000011":"Control Flow"}},{"o":1,"t":"017ffe02381f9fac5064","p":{"017bc044aeacce7ffc8f":1,"ff023000000000000011":"Error Flow"}},{"o":1,"t":"017ffdc633219f16beea","p":{"ff023000000000000011":"Workflow Transition"}},{"o":1,"t":"017ffdc633219f16beec","p":{"ff023000000000000011":"Process"}},{"o":1,"t":"017ffdc2dda51d46b431","p":{"ff023000000000000011":"From State","ff023000000000000030":994,"ff023000000000000031":992,"ff023000000000000034":0,"ff023000000000000037":8,"ff023000000000000137":9,"ff023000000000000237":8,"ff023000000000000337":8,"ff023000000000000437":8,"ff023000000000000537":0}},{"o":1,"t":"017ffdc633219f16beeb","p":{"ff023000000000000011":"To State","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":8,"ff023000000000000137":9,"ff023000000000000237":1,"ff023000000000000337":8,"ff023000000000000437":8,"ff023000000000000537":0}}],"optionalOperations":[]}
|
|
1
|
+
{"rootTag":"100000000000000000dd","operations":[{"o":1,"t":"017a7a9ff057958e5678","p":{"ff023000000000000011":"Enums"}},{"o":1,"t":"017a7a9ff058958e5678","p":{"01703376c4a81c0e9d91":"Allows defining one or more enums.","01703376c4a81c0e9d92":"An enum is an ordered list of entries, with a `Value` and a `Display Name`. The `Value` is the actual value being used within dataflows, while the `Display Name` is the text displayed in DRAW.<br/><br/>Enums are treated as *types* within Olympe, and they can therefore be used in various places:\n- In Functions and Actions, as types of inputs and outputs\n- In Visual Components, as types of properties\n- In Data Models, as types of properties within Data Types\n\n"}},{"o":1,"t":"016cdd861b32d56c8208","p":{"ff023000000000000011":"Enum Item"}},{"o":1,"t":"01645fe6873aeea59e64","p":{"ff023000000000000011":"Config Data Set"}},{"o":1,"t":"017ed8ac775f48d4d589","p":{"ff023000000000000011":"dataRel","ff023000000000000030":543,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":6,"ff023000000000000237":0,"ff023000000000000337":2,"ff023000000000000437":2,"ff023000000000000537":0}},{"o":1,"t":"01645fe6873beea59e64","p":{"01703376c4a81c0e9d91":"Set of Config Data Type instances.","01703376c4a81c0e9d92":"Config Data Sets are used to create instances of Config Data Types.\nThey are typically used to create sets of data that can be used by your application as configuration, a bit like enums, with custom properties.<br/><br/>Since that data is part of the definition of applications, it cannot be updated by applications at runtime.\nCompared to instances of regular Data Types, which are created and modified by users at runtime, records inside Config Data Sets are saved during the export of the project, as part of the application data."}},{"o":1,"t":"016324fde11a836f77d3","p":{"ff023000000000000011":"Config Data Type"}},{"o":1,"t":"016324fde11a836088d3","p":{"ff023000000000000011":"Config Data Type -> Project","ff023000000000000030":610,"ff023000000000000031":96,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":5,"ff023000000000000237":8,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":0}},{"o":1,"t":"016324fde11b836f77d3","p":{"01703376c4a81c0e9d91":"A data structure to be used as configuration within bricks and applications.","01703376c4a81c0e9d92":"A Config 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.\nCompare to regular Data Types, a Config Data Type is defined in a *Config Data Model*, and it must be instantiated in a *Config Data Set*."}},{"o":1,"t":"0163a68ce44f3d1fa95d","p":{"ff023000000000000011":"Config Data Model"}},{"o":1,"t":"0163a68ce4503d1fa95d","p":{"01703376c4a81c0e9d91":"Defines Config Data Types and their relations.","01703376c4a81c0e9d92":"A Config Data Model is where you define the data structures called *Config Data Types*, which can be used within bricks and applications as configuration.<br/><br/>A Config Data Model allows defining complex data structure with multiple config data types, properties and relations.<br/><br/>A project can have multiple Config Data Models."}},{"o":1,"t":"016324fde11a836f76c2","p":{"ff023000000000000011":"Data Type"}},{"o":1,"t":"016324fde11a836087c2","p":{"ff023000000000000011":"Data Type -> Project","ff023000000000000030":610,"ff023000000000000031":96,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":5,"ff023000000000000237":8,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":0}},{"o":1,"t":"016324fde11b836f76c2","p":{"01703376c4a81c0e9d91":"Defines a new type.","01703376c4a81c0e9d92":"A Data Type is very similar to the concept of 'Class' in object-oriented programming languages, or to a table in a relational database. A data type can contain:\n- Properties: values attached to data type instances\n- Relations: these are many-to-many relationships between data type instances.\n\n"}},{"o":1,"t":"0163a68ce44f3d1fa84c","p":{"ff023000000000000011":"Data Model"}},{"o":1,"t":"0163a68ce4503d1fa84c","p":{"01703376c4a81c0e9d91":"Defines data types and relations between them.","01703376c4a81c0e9d92":"A Data Model enables defining the structure of the data that the application and its users will manage.A single Data Model can define multiple Data Types, as well as the relations between them. A project can have multiple Data Models."}},{"o":1,"t":"017b3aa8fae1e3d044dc","p":{"ff023000000000000011":"Business Container"}},{"o":1,"t":"017b3aa8fd1659291b92","p":{"ff023000000000000011":"business container to project","ff023000000000000030":515,"ff023000000000000031":1,"ff023000000000000034":0,"ff023000000000000037":9,"ff023000000000000137":9,"ff023000000000000237":0,"ff023000000000000337":9,"ff023000000000000437":9,"ff023000000000000537":0}},{"o":1,"t":"017b3aa8fe7ec3fd52f2","p":{"ff023000000000000011":"business container to runtime objects","ff023000000000000030":543,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":0,"ff023000000000000137":6,"ff023000000000000237":2,"ff023000000000000337":0,"ff023000000000000437":0,"ff023000000000000537":0}},{"o":1,"t":"01644b6d4543b344b857","p":{"ff023000000000000011":"Media Library"}},{"o":1,"t":"01644b6d4544b344b857","p":{"01703376c4a81c0e9d91":"A repository for media resources.","01703376c4a81c0e9d92":"A Media Library stores assets like images, videos and fonts that can be used within the project."}},{"o":1,"t":"01644b6297305d62fca2","p":{"ff023000000000000011":"Image File"}},{"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."}},{"o":1,"t":"016eb13ba1388f7bdd71","p":{"ff023000000000000011":"picture_default","ff023000000000000050":"picture_default.svg","ff023000000000000051":{"c":4,"h":9,"m":7,"s":13,"S":623,"z":0,"y":2025,"M":12,"d":16},"ff023000000000000052":"image/svg+xml","ff023000000000000053":"images/picture_default.svg","ff023000000000000054":false,"ff023000000000000055":{"c":4,"h":9,"m":7,"s":13,"S":623,"z":0,"y":2025,"M":12,"d":16}}},{"o":1,"t":"01647e113043c637b541","p":{"fd01647e677f5d1cfbdf42":"normal","fd01647e6780999bf8bd25":300,"ff023000000000000011":"Font File"}},{"o":1,"t":"01647e35ecd24ef0b88d","p":{"ff023000000000000011":"Font Family"}},{"o":1,"t":"01647e677f5d1cfbdf42","p":{"ff023000000000000011":"Font Style"}},{"o":1,"t":"01647e6780999bf8bd25","p":{"ff023000000000000011":"Font Weight"}},{"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"}},{"o":1,"t":"0164643c432146a71d5c","p":{"ff023000000000000011":"Video File"}},{"o":1,"t":"0164643c432246a71d5c","p":{"01703376c4a81c0e9d91":"A file containing a video recording.","01703376c4a81c0e9d92":"A Video File contains a binary encoded video. Supported formats are mp4, mpeg and avi."}},{"o":1,"t":"0163c9ae01f2d6e9ca49","p":{"ff023000000000000011":"ObjectRef"}},{"o":1,"t":"0163c9ae0401d21eb0c3","p":{"ff023000000000000011":"objectTag"}},{"o":1,"t":"0169b5a8a33144fb0b49","p":{"ff023000000000000011":"reference","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":9,"ff023000000000000237":2,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":2}},{"o":1,"t":"016421bb3797e22d1c4e","p":{"ff023000000000000011":"Video Stream"}},{"o":1,"t":"0162f672366be5ca7a86","p":{"ff023000000000000011":"Type"}},{"o":1,"t":"018119241abce0e5696e","p":{"ff023000000000000011":"Map"}},{"o":1,"t":"018119241abde0e5696e","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."}},{"o":1,"t":"01631aacd8276ea98490","p":{"ff023000000000000011":"List"}},{"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."}},{"o":1,"t":"016cfca73e63f9ab5ba4","p":{"ff023000000000000011":"Text"}},{"o":1,"t":"01631aacd8276ea98491","p":{"ff023000000000000011":"Array"}},{"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).<br/><br/>This is similar to arrays in programming languages."}},{"o":1,"t":"01631aacd8276ea98492","p":{"ff023000000000000011":"Query Result"}},{"o":1,"t":"01631aacd8286ea98492","p":{"01703376c4a81c0e9d91":"An ordered collection of objects.","01703376c4a81c0e9d92":"A **QueryResult** is a collection of object tuples produced by the execution of a Query. It can be accessed sequentially (one entry after the other) or directly by specifying the rank of the entry (e.g. the 3rd entry).<br/><br/>This is similar to arrays in programming languages."}},{"o":1,"t":"01631aacd8276ea98493","p":{"ff023000000000000011":"Query"}},{"o":1,"t":"01631aacd8286ea98493","p":{"01703376c4a81c0e9d91":"TODO","01703376c4a81c0e9d92":"TODO"}},{"o":1,"t":"01631aacd8276ea98494","p":{"ff023000000000000011":"Filter Type"}},{"o":1,"t":"01631aacd8286ea98494","p":{"01703376c4a81c0e9d91":"TODO","01703376c4a81c0e9d92":"TODO"}},{"o":1,"t":"01631aacd8276ea98495","p":{"ff023000000000000011":"Sort Direction"}},{"o":1,"t":"01631aacd8286ea98495","p":{"01703376c4a81c0e9d91":"TODO","01703376c4a81c0e9d92":"TODO"}},{"o":1,"t":"01631aacd8276ea98496","p":{"017a7690c915975ea995":0,"ff023000000000000011":"equals","ff023000000000000026":"equals"}},{"o":1,"t":"01631aacd8276ea98497","p":{"017a7690c915975ea995":1,"ff023000000000000011":"different","ff023000000000000026":"different"}},{"o":1,"t":"01631aacd8276ea98498","p":{"017a7690c915975ea995":2,"ff023000000000000011":"contains","ff023000000000000026":"contains"}},{"o":1,"t":"01631aacd8276ea98499","p":{"017a7690c915975ea995":3,"ff023000000000000011":"greater than","ff023000000000000026":"greater than"}},{"o":1,"t":"01631aacd8276ea9849a","p":{"017a7690c915975ea995":4,"ff023000000000000011":"greater or equals","ff023000000000000026":"greater or equals"}},{"o":1,"t":"01631aacd8276ea9849b","p":{"017a7690c915975ea995":5,"ff023000000000000011":"smaller than","ff023000000000000026":"smaller than"}},{"o":1,"t":"01631aacd8276ea9849c","p":{"017a7690c915975ea995":6,"ff023000000000000011":"smaller or equals","ff023000000000000026":"smaller or equals"}},{"o":1,"t":"01631aacd8276ea9849d","p":{"017a7690c915975ea995":7,"ff023000000000000011":"regexp","ff023000000000000026":"regexp"}},{"o":1,"t":"01631aacd8276ea9849e","p":{"017a7690c915975ea995":0,"ff023000000000000011":"ascending","ff023000000000000026":"ascending"}},{"o":1,"t":"01631aacd8276ea9849f","p":{"017a7690c915975ea995":1,"ff023000000000000011":"descending","ff023000000000000026":"descending"}},{"o":1,"t":"018312ceeb3e93618a85","p":{"ff023000000000000011":"Context"}},{"o":1,"t":"018312ceeb3f93618a85","p":{"01703376c4a81c0e9d91":"Context of a brick","01703376c4a81c0e9d92":"A Context is a placeholder to store some key/value related to a specific part (context) of the application"}},{"o":1,"t":"01621fb84e320000cf00","p":{"ff023000000000000011":"Control Flow"}},{"o":1,"t":"016eeb5ede9f3094d8f0","p":{"ff023000000000000011":"Error Flow"}},{"o":1,"t":"016ac4f59ee8ea2081ba","p":{"ff023000000000000011":"Predefined IO","ff023000000000000012":true}},{"o":1,"t":"017bc044aeacce7ffc8f","p":{"ff023000000000000011":"Predefined IO Rank"}},{"o":1,"t":"016ac4f5a0091c4790e2","p":{"ff023000000000000011":"Predefined Type IO","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":9,"ff023000000000000237":1,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":2}},{"o":1,"t":"016ac4f59c592b862457","p":{"ff023000000000000011":"Predefined Input"}},{"o":1,"t":"016ac4f59dd99f5df3e1","p":{"ff023000000000000011":"Predefined Output"}},{"o":1,"t":"0168a431d25001540000","p":{"ff023000000000000011":"Runnable IO","ff023000000000000012":true}},{"o":1,"t":"01740c5d4ae4b520dd01","p":{"ff023000000000000011":"IO Rank"}},{"o":1,"t":"0168a431d3b9b7438424","p":{"ff023000000000000011":"Type IO","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":9,"ff023000000000000237":1,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":2}},{"o":1,"t":"0168a431d25001540001","p":{"ff023000000000000011":"Runnable Input"}},{"o":1,"t":"01740c5d4ae4b520dd02","p":{"ff023000000000000011":"Default Value"}},{"o":1,"t":"0168a431d25001540002","p":{"ff023000000000000011":"Runnable Output"}},{"o":1,"t":"011100000000000adef0","p":{"ff023000000000000011":"Function Signature"}},{"o":1,"t":"016ac4f59a2917fdef01","p":{"ff023000000000000011":"Predefined Inputs rel","ff023000000000000030":543,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":6,"ff023000000000000237":2,"ff023000000000000337":2,"ff023000000000000437":2,"ff023000000000000537":2}},{"o":1,"t":"016ac4f59a2917fdef02","p":{"ff023000000000000011":"Predefined Outputs rel","ff023000000000000030":543,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":6,"ff023000000000000237":2,"ff023000000000000337":2,"ff023000000000000437":2,"ff023000000000000537":2}},{"o":1,"t":"011100000001000adef0","p":{"01703376c4a81c0e9d91":"A signature for functions","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 as types within the inputs or outputs of Functions and Actions, as well as within properties of Visual Components.<br/><br/>A Function Signature is analogous to an <a href=\"https://en.wikipedia.org/wiki/Interface_(object-oriented_programming)\" targer=\"_blank\">interface</a> in object-oriented programming."}},{"o":1,"t":"0112000000000000def0","p":{"fd01692aa71f3108454479":false,"ff023000000000000011":"Runnable Definition"}},{"o":1,"t":"01692aa71f3108454479","p":{"ff023000000000000011":"hardcoded"}},{"o":1,"t":"0166446c1f128ebc903a","p":{"ff023000000000000011":"On Load"}},{"o":1,"t":"0166446c1f128ebc904e","p":{"ff023000000000000011":"On Error"}},{"o":1,"t":"01621fb84e320000f00a","p":{"ff023000000000000011":"Inputs","ff023000000000000030":543,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":6,"ff023000000000000237":2,"ff023000000000000337":2,"ff023000000000000437":2,"ff023000000000000537":2}},{"o":1,"t":"01621fb84e320000f00b","p":{"ff023000000000000011":"Outputs","ff023000000000000030":543,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":6,"ff023000000000000237":2,"ff023000000000000337":2,"ff023000000000000437":2,"ff023000000000000537":2}},{"o":1,"t":"0171838bcfed0000e00e","p":{"ff023000000000000011":"Super Definition","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":5,"ff023000000000000237":2,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":0}},{"o":1,"t":"0171838bcfed0000a00a","p":{"ff023000000000000011":"Auxiliary model","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":5,"ff023000000000000237":2,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":0}},{"o":1,"t":"01130000000000ca1100","p":{"ff023000000000000011":"Runnable","ff023000000000000012":true}},{"o":1,"t":"01692a4af82e8984742b","p":{"ff023000000000000011":"Definition of runnable","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":9,"ff023000000000000237":2,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":2}},{"o":1,"t":"01756a18d4921c103111","p":{"ff023000000000000011":"Anonymous definition","ff023000000000000030":543,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":10,"ff023000000000000137":10,"ff023000000000000237":1,"ff023000000000000337":10,"ff023000000000000437":10,"ff023000000000000537":10}},{"o":1,"t":"01692a4af82e8984742c","p":{"ff023000000000000011":"Calls Runnable","ff023000000000000030":543,"ff023000000000000031":31,"ff023000000000000034":4,"ff023000000000000037":2,"ff023000000000000137":6,"ff023000000000000237":2,"ff023000000000000337":2,"ff023000000000000437":2,"ff023000000000000537":2}},{"o":1,"t":"01692a4af82e8984742d","p":{"ff023000000000000011":"Conditional Calls Runnable","ff023000000000000030":543,"ff023000000000000031":31,"ff023000000000000034":4,"ff023000000000000037":2,"ff023000000000000137":6,"ff023000000000000237":1,"ff023000000000000337":2,"ff023000000000000437":2,"ff023000000000000537":2}},{"o":1,"t":"01692a4af82e8984742e","p":{"ff023000000000000011":"Extra Calls Runnable","ff023000000000000030":543,"ff023000000000000031":31,"ff023000000000000034":4,"ff023000000000000037":4,"ff023000000000000137":6,"ff023000000000000237":2,"ff023000000000000337":4,"ff023000000000000437":4,"ff023000000000000537":2}},{"o":1,"t":"016c2d996d9ca27fa9d8","p":{"ff023000000000000011":"Delegate","ff023000000000000012":true}},{"o":1,"t":"016c3cb7742ec9309e0b","p":{"ff023000000000000011":"Delegator Relation","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":5,"ff023000000000000237":1,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":0}},{"o":1,"t":"016c42d3454636f90533","p":{"ff023000000000000011":"Delegated Properties","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":5,"ff023000000000000237":1,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":0}},{"o":1,"t":"016d3f37610ae4fc3962","p":{"ff023000000000000011":"SizeDelegator"}},{"o":1,"t":"01621fb84e320000f000","p":{"ff023000000000000011":"Function"}},{"o":1,"t":"0162f15740c36629dc57","p":{"ff023000000000000011":"description"}},{"o":1,"t":"01621fb84e330000f000","p":{"01703376c4a81c0e9d91":"A Function takes inputs and produces outputs.","01703376c4a81c0e9d92":"A Function is the basic logic brick. It takes one or several inputs and produces one or several outputs.\nFor instance `Plus` is a Function that takes 2 numbers as inputs an produces, as output, a number that is the sum of these 2 inputs.<br/><br/>A Function can be reused within other Functions, Actions and Visual Components.<br/><br/>By default, a Function is triggered once each one of its inputs has been defined, and then everytime one of its inputs changes."}},{"o":1,"t":"01621fb84e320000f011","p":{"ff023000000000000011":"Coded Function"}},{"o":1,"t":"01621fb84e330000f011","p":{"01703376c4a81c0e9d91":"A Function implemented using code.","01703376c4a81c0e9d92":"A Coded Function is a function implemented using code, such as JavaScript or TypeScript.<br/><br/>Coded Functions are typically used to add new functionalities within applications, or to implement more complex logic."}},{"o":1,"t":"0168c6f020f2a96f0000","p":{"ff023000000000000011":"Function Call","ff023000000000000012":true}},{"o":1,"t":"0168a431d91f25780000","p":{"ff023000000000000011":"Pipe"}},{"o":1,"t":"0168a431d91f25780001","p":{"ff023000000000000011":"Source Value"}},{"o":1,"t":"0168a431d91f25780002","p":{"ff023000000000000011":"Source Scope","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":9,"ff023000000000000237":2,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":8}},{"o":1,"t":"0168a431d91f25780003","p":{"ff023000000000000011":"Source Output","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":9,"ff023000000000000237":2,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":8}},{"o":1,"t":"0168a431d91f25780004","p":{"ff023000000000000011":"Source Property","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":9,"ff023000000000000237":2,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":8}},{"o":1,"t":"0168a431d91f2578000a","p":{"ff023000000000000011":"Destination Scope","ff023000000000000030":994,"ff023000000000000031":992,"ff023000000000000034":0,"ff023000000000000037":9,"ff023000000000000137":9,"ff023000000000000237":10,"ff023000000000000337":9,"ff023000000000000437":9,"ff023000000000000537":8}},{"o":1,"t":"0168a431d91f2578000b","p":{"ff023000000000000011":"Destination Input","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":9,"ff023000000000000237":2,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":8}},{"o":1,"t":"0168a431d91f2578000c","p":{"ff023000000000000011":"Destination Property","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":9,"ff023000000000000237":2,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":8}},{"o":1,"t":"01621fb84e32000000a0","p":{"01621fb84e320000f001":"private","ff023000000000000011":"Ascender"}},{"o":1,"t":"01621fb84e32000000a1","p":{"ff023000000000000011":"Input","ff023000000000000030":543,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":10,"ff023000000000000237":2,"ff023000000000000337":2,"ff023000000000000437":2,"ff023000000000000537":0}},{"o":1,"t":"01621fb84e32000000a2","p":{"ff023000000000000011":"Upward","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":10,"ff023000000000000237":1,"ff023000000000000337":2,"ff023000000000000437":2,"ff023000000000000537":0}},{"o":1,"t":"01621fb84e32000000d0","p":{"01621fb84e320000f001":"private","ff023000000000000011":"Descender"}},{"o":1,"t":"01621fb84e32000000d1","p":{"ff023000000000000011":"Downward","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":10,"ff023000000000000237":1,"ff023000000000000337":2,"ff023000000000000437":2,"ff023000000000000537":0}},{"o":1,"t":"01621fb84e32000000d2","p":{"ff023000000000000011":"Output","ff023000000000000030":543,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":10,"ff023000000000000237":2,"ff023000000000000337":2,"ff023000000000000437":2,"ff023000000000000537":0}},{"o":1,"t":"01621fb84e320000a000","p":{"ff023000000000000011":"Action"}},{"o":1,"t":"016ac63229782039429f","p":{"017bc044aeacce7ffc8f":0,"ff023000000000000011":"Control Flow"}},{"o":1,"t":"016ac6322acf67eebfe7","p":{"017bc044aeacce7ffc8f":0,"ff023000000000000011":"Control Flow"}},{"o":1,"t":"01621fb84e330000a000","p":{"01703376c4a81c0e9d91":"A function takes inputs and produces outputs.","01703376c4a81c0e9d92":"An Action is the other basic logic brick. It also takes one or several inputs and produces one or several outputs.\nAdditionally, an Action has an input and output *control flows*. The Action is executed when the input control flow is triggered, and it defines all outputs before the output control flow is triggered.<br/><br/>By default, an action is triggered everytime the control flow is triggered, regardless of the value of the other inputs.<br/><br/>An Action can be reused within other Functions, Actions and Visual Components."}},{"o":1,"t":"01621fb84e320000f012","p":{"ff023000000000000011":"Coded Action"}},{"o":1,"t":"01621fb84e330000f012","p":{"01703376c4a81c0e9d91":"An Action implemented using code.","01703376c4a81c0e9d92":"A Coded Action is an Action implemented using code, such as JavaScript or TypeScript.<br/><br/>Coded Actions are typically used to add new functionalities within applications, or to implement more complex logic."}},{"o":1,"t":"0168c6f020f2a96a0000","p":{"ff023000000000000011":"Action Call","ff023000000000000012":true}},{"o":1,"t":"016a9766c230916ea5ec","p":{"ff023000000000000011":"Service"}},{"o":1,"t":"016ac63c5b3ed0562740","p":{"017bc044aeacce7ffc8f":0,"ff023000000000000011":"Control Flow"}},{"o":1,"t":"016a9766c231916ea5ec","p":{"01703376c4a81c0e9d91":"A long running action to be run in a Service Application.","01703376c4a81c0e9d92":"A Service is an Action meant to be run inside a Service App. The Service is triggered when the Service App starts, and runs until the Service App stops.<br/><br/>A Service has no input, and its configuration is therefore generally read from configuration files, APIs or other external sources.<br/><br/>Typical uses of Services are to run batch jobs, expose web services, or listen to outside events such as incoming emails."}},{"o":1,"t":"0169b6876a03f139d50a","p":{"ff023000000000000011":"Interaction Event Definition"}},{"o":1,"t":"016ac63808535703691c","p":{"017bc044aeacce7ffc8f":0,"ff023000000000000011":"Control Flow"}},{"o":1,"t":"0169b6876a03f14ae61b","p":{"ff023000000000000011":"Error Handler Definition"}},{"o":1,"t":"016ac638085357047a2d","p":{"017bc044aeacce7ffc8f":0,"ff023000000000000011":"Error Flow"}},{"o":1,"t":"017a7b07a948e30508fa","p":{"ff023000000000000011":"Remote Action"}},{"o":1,"t":"017a7b07b09e3b22c8b4","p":{"017bc044aeacce7ffc8f":0,"ff023000000000000011":"Control Flow"}},{"o":1,"t":"017a7b07ba05807a74b0","p":{"017bc044aeacce7ffc8f":1,"ff023000000000000011":"User"}},{"o":1,"t":"017a7b0818c12388d731","p":{"017bc044aeacce7ffc8f":0,"ff023000000000000011":"Control Flow"}},{"o":1,"t":"017a7b085146d5e69aec","p":{"017bc044aeacce7ffc8f":1,"ff023000000000000011":"Error Flow"}},{"o":1,"t":"017a7b07a949e30508fa","p":{"01703376c4a81c0e9d91":"An action running remotely in a Service App.","01703376c4a81c0e9d92":"A Remote Action is an Action which is running within a Service App. It behaves and it is used like an action, but it runs remotely. The Remote Action takes care of serializing the inputs, send them to the Service App, executes the content of the Remote Action, and serializes the outputs back to the caller.<br/><br/>Remote Actions are typically used to call APIs, databases, send emails and perform other back-end operations.<br/><br/>A remote action is synchronous, and can therefore be subject to timeouts if running for too long. The timeout value is configurable per environment."}},{"o":1,"t":"017a7b0c5dcbd8964c5d","p":{"fd017a7b0c62a02a89444f":false,"ff023000000000000011":"Remote Action Call","ff023000000000000012":true}},{"o":1,"t":"017a7b0c62a02a89444f","p":{"ff023000000000000011":"listener"}},{"o":1,"t":"011203300000000adf00","p":{"fd011203300000000adf01":0,"fd011203300000000adf02":20000,"ff023000000000000011":"System Information"}},{"o":1,"t":"011203300000000adf01","p":{"ff023000000000000011":"appController timestamp"}},{"o":1,"t":"011203300000000adf02","p":{"ff023000000000000011":"appController heart rate"}},{"o":1,"t":"011203300000000adf0f","p":{}},{"o":1,"t":"01120300000000adef00","p":{"ff023000000000000011":"Application Definition","ff023000000000000012":true}},{"o":1,"t":"0171bc1f15da96dfdb89","p":{"ff023000000000000011":"app project import","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":5,"ff023000000000000237":2,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":0}},{"o":1,"t":"0171bc1f15da96dfdb90","p":{"ff023000000000000011":"deploy data source","ff023000000000000030":543,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":6,"ff023000000000000237":2,"ff023000000000000337":2,"ff023000000000000437":2,"ff023000000000000537":2}},{"o":1,"t":"011203300000000adef5","p":{"fd011203300000000adef6":false,"fd011203300000000adef7":false,"fd011203300000000adef8":0,"ff023000000000000011":"Deployment Info"}},{"o":1,"t":"011203300000000adef6","p":{"ff023000000000000011":"activated"}},{"o":1,"t":"011203300000000adef7","p":{"ff023000000000000011":"rebuild"}},{"o":1,"t":"011203300000000adef8","p":{"ff023000000000000011":"status"}},{"o":1,"t":"011203300000000adef9","p":{"ff023000000000000011":"last error"}},{"o":1,"t":"011203300000000adefa","p":{"ff023000000000000011":"project URL"}},{"o":1,"t":"011203300000000adefb","p":{"ff023000000000000011":"project branch"}},{"o":1,"t":"011203300000000adefc","p":{"ff023000000000000011":"build command"}},{"o":1,"t":"011203300000000adefd","p":{"ff023000000000000011":"project config"}},{"o":1,"t":"011203300000000adefe","p":{"ff023000000000000011":"logs"}},{"o":1,"t":"011203300000000adeff","p":{"ff023000000000000011":"port mappings"}},{"o":1,"t":"011203300000000adee0","p":{"ff023000000000000011":"dependencies"}},{"o":1,"t":"011203300000000adef3","p":{"ff023000000000000011":"Service App"}},{"o":1,"t":"011203300000000adef4","p":{"ff023000000000000011":"Deployment Info","ff023000000000000030":543,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":6,"ff023000000000000237":2,"ff023000000000000337":2,"ff023000000000000437":2,"ff023000000000000537":0}},{"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 on any edge or IoT device that does not have a screen. They run in the background and are typically used to capture data from a third party, process data, perform data input validation, etc."}},{"o":1,"t":"017dc8d6c8fd8c8bd2ff","p":{"ff023000000000000011":"Data Connector"}},{"o":1,"t":"0113030000000aca1100","p":{"ff023000000000000011":"Application","ff023000000000000012":true}},{"o":1,"t":"0113032000000aca1102","p":{"ff023000000000000011":"Headless Application","ff023000000000000012":true}},{"o":1,"t":"017ffdc010e5bcc9c971","p":{"fd017ffdc010e5bcc9c972":false,"ff023000000000000011":"Workflow"}},{"o":1,"t":"017ffdc010e5bcc9c972","p":{"ff023000000000000011":"Serialization Enabled"}},{"o":1,"t":"017ffdc010e5bcc9c973","p":{"ff023000000000000011":"Data Type","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":5,"ff023000000000000237":1,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":2}},{"o":1,"t":"017ffdc010e5bcc9c974","p":{"ff023000000000000011":"States","ff023000000000000030":543,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":6,"ff023000000000000137":6,"ff023000000000000237":2,"ff023000000000000337":6,"ff023000000000000437":6,"ff023000000000000537":0}},{"o":1,"t":"017ffdc010e5bcc9c975","p":{"ff023000000000000011":"Initial State","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":5,"ff023000000000000237":1,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":0}},{"o":1,"t":"017ffdc010e6bcc9c971","p":{"01703376c4a81c0e9d91":"Defines states and transitions between states.","01703376c4a81c0e9d92":"A Workflow defines a set of *states* through which the instances of a Data Type can go through, as well as the transitions allows between those states.<br/><br/>A Workflow can therefore be seen as a state machine. Each transition can have an optional *Process Function*, which can embed any custom logic to:\n- Add predefined processing within a transition\n- Add additional verification logic to allow or deny the transition to happen\n\nEach Workflow is assigned to a Data Type, and can then be used to control the possible states of the instances of that Data Type."}},{"o":1,"t":"017ffdc2dda51d46b430","p":{"ff023000000000000011":"Workflow State"}},{"o":1,"t":"017ffdc2dda61d46b430","p":{"01703376c4a81c0e9d91":"A single state of a workflow sequence.","01703376c4a81c0e9d92":"A Workflow State represents a single state in a workflow."}},{"o":1,"t":"017ffde21f5fe0f704ce","p":{"ff023000000000000011":"Workflow Process Function Definition"}},{"o":1,"t":"017ffe02381f9fac5060","p":{"017bc044aeacce7ffc8f":0,"ff023000000000000011":"Control Flow"}},{"o":1,"t":"017ffe02381f9fac5061","p":{"017bc044aeacce7ffc8f":1,"ff023000000000000011":"Object"}},{"o":1,"t":"017ffe02381f9fac5062","p":{"017bc044aeacce7ffc8f":2,"ff023000000000000011":"User"}},{"o":1,"t":"017ffe02381f9fac5065","p":{"017bc044aeacce7ffc8f":3,"ff023000000000000011":"Data Map"}},{"o":1,"t":"017ffe02381f9fac5063","p":{"017bc044aeacce7ffc8f":0,"ff023000000000000011":"Control Flow"}},{"o":1,"t":"017ffe02381f9fac5064","p":{"017bc044aeacce7ffc8f":1,"ff023000000000000011":"Error Flow"}},{"o":1,"t":"017ffdc633219f16beea","p":{"ff023000000000000011":"Workflow Transition"}},{"o":1,"t":"017ffdc633219f16beec","p":{"ff023000000000000011":"Process"}},{"o":1,"t":"017ffdc2dda51d46b431","p":{"ff023000000000000011":"From State","ff023000000000000030":994,"ff023000000000000031":992,"ff023000000000000034":0,"ff023000000000000037":8,"ff023000000000000137":9,"ff023000000000000237":8,"ff023000000000000337":8,"ff023000000000000437":8,"ff023000000000000537":0}},{"o":1,"t":"017ffdc633219f16beeb","p":{"ff023000000000000011":"To State","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":8,"ff023000000000000137":9,"ff023000000000000237":1,"ff023000000000000337":8,"ff023000000000000437":8,"ff023000000000000537":0}}],"optionalOperations":[]}
|
package/index.js
CHANGED
|
@@ -314,10 +314,10 @@ olympe.ha.zb.j={Uw:0,dg:1,Ev:2,tk:3,Cs:4,Bb:5,Au:6,yC:7};olympe.ha.zb.D={0:'TRAC
|
|
|
314
314
|
olympe.ha.ye.zb=class{constructor(a,b){this.name=a;const c=b instanceof rxjs.Observable;this.D=c?olympe.ha.zb.j.tk:b;c&&b.subscribe(d=>{this.D=d});this.X=a.toUpperCase();this.R=new Map;this.Ha=console}ka(){return this.name}H(){return this.D}F(){return this.D<=olympe.ha.zb.j.Uw}j(){return this.D<=olympe.ha.zb.j.dg}N(){return this.D<=olympe.ha.zb.j.Ev}ia(){return this.D<=olympe.ha.zb.j.tk}wa(){return this.D<=olympe.ha.zb.j.Cs}Z(){return this.D<=olympe.ha.zb.j.Bb}ba(){return this.D<=olympe.ha.zb.j.Au}trace(...a){this.F()&&
|
|
315
315
|
Ib(this,'trace',a)}debug(...a){this.j()&&Ib(this,'debug',a)}log(...a){this.N()&&Ib(this,'log',a)}info(...a){this.ia()&&Ib(this,'info',a)}warn(...a){this.wa()&&Ib(this,'warn',a)}error(...a){this.Z()&&Ib(this,'error',a)}fatal(...a){this.ba()&&Ib(this,'error',a)}};olympe.ha.ye.zb.ya=[olympe.ha.zb];olympe.ha.ye.Ta=class{constructor(a,b,c){this.j=a;this.D=parseInt(b,10);this.F=c;this.channels=new Map;this.G=this.dd('logging');this.G.log('Logging initialized, global log level is '+olympe.ha.zb.D[b])}dd(a){var b=this.channels.get(a);if(!b){b=`${olympe.ha.Config.fu}.${a}`;var c;const d=new rxjs.BehaviorSubject(null!=(c=this.j.getParameter(b))?c:this.D);Ta(this.j,b,e=>{d.next(e)});c=this.F;b=`${b}.${olympe.ha.Config.Fw}`;Object.prototype.hasOwnProperty.call(this.j.parameters,b.toLowerCase())&&(c=
|
|
316
316
|
!0===this.j.getParameter(b));b=new olympe.ha.ye.zb(a,d.asObservable(),c);this.channels.set(a,b)}return b}};olympe.ha.ye.Ta.ya=[olympe.ha.Ta];olympe.ha.P={Ea:'logging.Manager'};olympe.ha.Config={Up:'logging',Vp:'logging.showLogLevel',fu:'logging',Fw:'showLogLevel'};olympe.V.config(function(a){E(a,olympe.ha.Config.Up,olympe.ha.zb.j.tk);E(a,olympe.ha.Config.Vp,!0);Va(a,olympe.ha.P.Ea,olympe.ha.ye.Ta,olympe.V.P.Fg,new olympe.V.ma(olympe.ha.Config.Up),new olympe.V.ma(olympe.ha.Config.Vp))},'olympe.logging');olympe.V.run([olympe.ha.P.Ea],a=>{olympe.ha.Wa=b=>a.dd(b)},'Logging singleton getter initialization');olympe.C={};olympe.C.Config={Pq:'df.nodeCreationThreshold'};const Jb=[];function Kb(){}function Lb(){}olympe.C.J=class a{constructor(b,c,d){this.j=void 0===b?Kb:b;this.D=void 0===c?Jb:c;this.X=d}static H(){var b=[];return void 0===b||0===b.length?olympe.C.J.Z:new a(Lb,b)}H(){return this.j?this.j():void 0}F(){return this.D?this.D:Jb}N(){return null===this.j&&null===this.D}R(){return this.j===Lb}};olympe.C.J.X=new olympe.C.J;olympe.C.J.j=new olympe.C.J(null,null);olympe.C.J.Z=new olympe.C.J(Lb);olympe.C.J.F=new olympe.C.J(()=>olympe.C.$);
|
|
317
|
-
olympe.C.J.D=new olympe.C.J(()=>olympe.C.Sa);olympe.C.J.N=new olympe.C.J(()=>olympe.C.da);olympe.C.J.R=new olympe.C.J(()=>olympe.C
|
|
318
|
-
olympe.C.
|
|
317
|
+
olympe.C.J.D=new olympe.C.J(()=>olympe.C.Sa);olympe.C.J.N=new olympe.C.J(()=>olympe.C.da);olympe.C.J.R=new olympe.C.J(()=>olympe.C.$b);olympe.C.Jh=class{T(){return''}Pn(){return''}destroy(){}fb(){return!1}kd(){return!1}run(a,...b){return a(...b)}tc(a){return a}getParent(){return null}Ht(){}pe(){}detach(){}jl(){}ug(){}onDestroy(){return''}Zf(){}Yd(){return''}wt(){}};olympe.C.Jh.prototype.offDestroy=olympe.C.Jh.prototype.Zf;olympe.C.Jh.prototype.onDestroy=olympe.C.Jh.prototype.onDestroy;let Mb=0;olympe.V.run([new olympe.V.ma(olympe.C.Config.Pq)],()=>{});
|
|
318
|
+
olympe.C.Zb=class{constructor(a='SimpleContext',b){++Mb;this.ba=new Map;this.Z=new Map;this.X=new Map;this.Ha=0;this.name=a;this.id=String(Mb);this.F=this.ia=!1;(this.N=void 0===b?olympe.C.Za():b)&&this.N.pe(this);this.debug=!1}T(){return this.id}Pn(){return this.name}run(a,...b){if(!this.ia){var c=olympe.C.Gt(this);a=a(...b);c&&olympe.C.Gt(c);return a}}tc(a){return(...b)=>this.run(a,...b)}destroy(){if(!this.ia&&!this.F){this.F=!0;this.ug();for(const a of this.Z.keys())this.Z.has(a)&&this.Z.get(a)();
|
|
319
319
|
this.Z.clear();this.X.clear();this.N&&(this.N.detach(this,!1),this.N=null);this.ia=!0;this.F=!1;this.ug()}}fb(){return this.ia}kd(){return this.F}pe(a){if(!this.ia){var b;olympe.C.gb(a)?b=a.Ba:olympe.C.ao(a)&&(b=a);b&&this.ba.set(b.T(),b)}}detach(a,b=!0){let c;olympe.C.gb(a)?c=a.Ba:olympe.C.ao(a)&&(c=a);c&&this.ba.has(c.T())&&(b&&c.jl(this),this.ba.delete(c.T()))}jl(){this.N=null;this.destroy()}ug(){const a=this.ba;for(const b of a.keys())a.has(b)&&a.get(b).jl(this);this.ba.clear();for(const b of this.X.keys())this.X.has(b)&&
|
|
320
|
-
this.X.get(b)();this.X.clear()}onDestroy(a,b){void 0===b&&(++this.Ha,b=String(this.Ha));this.Z.set(b,a);return b}Zf(a){this.Z.delete(a)}Yd(a){if(void 0===b){++this.Ha;var b=String(this.Ha)}this.X.set(b,a);return b}wt(a){this.X.delete(a)}Ht(a){this.N&&this.N.detach(this,!1);(this.N=a||null)&&this.N.pe(this)}getParent(){return this.N}};olympe.C.Ur=class extends olympe.C.
|
|
320
|
+
this.X.get(b)();this.X.clear()}onDestroy(a,b){void 0===b&&(++this.Ha,b=String(this.Ha));this.Z.set(b,a);return b}Zf(a){this.Z.delete(a)}Yd(a){if(void 0===b){++this.Ha;var b=String(this.Ha)}this.X.set(b,a);return b}wt(a){this.X.delete(a)}Ht(a){this.N&&this.N.detach(this,!1);(this.N=a||null)&&this.N.pe(this)}getParent(){return this.N}};olympe.C.Ur=class extends olympe.C.Zb{constructor(){super('Root',null)}destroy(){}onDestroy(){return''}Zf(){}};olympe.C.Jh.ya=[olympe.C.Jh];let Nb=0;
|
|
321
321
|
function Ob(a,b){a.R||(a.R=new Map);a.R.set(b.T(),b);switch(b.Lc()){case olympe.C.Node.j.Sh:break;case olympe.C.Node.j.di:break;case olympe.C.Node.j.zk:case olympe.C.Node.j.fg:olympe.C.G.warn('Not bad as such but should not happen!');break;case olympe.C.Node.j.Kh:Pb(a,olympe.C.Node.j.Kh);break;case olympe.C.Node.j.OBSOLETE:a.lb=!0;a.j!==olympe.C.Node.j.Kh&&Pb(a,olympe.C.Node.j.OBSOLETE);break;case olympe.C.Node.j.$d:olympe.C.G.warn('Adding a destroyed node as upstream => should never happen!');break;
|
|
322
322
|
default:olympe.C.G.warn('Unknown state, investigate: ',b.Lc())}Qb(b,a)}
|
|
323
323
|
function Rb(a){if(a.Nc){var b=[],c=[];if(a.$f)if(a.$f instanceof olympe.C.Node)if(Sb(a.$f))b=a.$f.Fb;else return;else b=a.$f;else b=null;if(null!==a.Wd){const e=a.tg;for(let f=0,g=a.Wd.length;f<g;f++)if(null!==e&&-1<e.indexOf(f)){const h=a.Wd[f];if(Sb(h))c.push(h.Fb);else return}else c.push(a.Wd[f])}if(a.Nc instanceof Function)var d=a.Nc;else b&&(b[a.Nc]||olympe.C.G.warn('looks like you forget a cast somewhere around '+a.Nc),d=b[a.Nc]);a.run(()=>{a.ug();if(void 0!==d){const e=d.apply(b,c);e&&e.Gs?
|
|
@@ -329,7 +329,7 @@ Object?d=!0:b.toLowerCase()!==e.toLowerCase()&&a.valueType!==Object&&(d=!0),d&&(
|
|
|
329
329
|
function bc(a,b){if(a.j!==olympe.C.Node.j.fg&&a.j!==olympe.C.Node.j.$d&&(a.j!==olympe.C.Node.j.Sh||a.Nc)){var c=void 0!==a.defaultValue;a.Nc&&b!==a.D&&a.ug();if(c)L(a,a.defaultValue,!0);else if(a.Fb=void 0,Pb(a,olympe.C.Node.j.Sh),b=a.H)for(const d of b.values())bc(d,a)}}function Ub(a){if(a.j!==olympe.C.Node.j.Kh){Pb(a,olympe.C.Node.j.Kh);var b=a.H;if(b)for(const c of b.values())Ub(c);a.ug();void 0!==a.D&&Wb(a);a.Fb=a.defaultValue}}function Sb(a){return a.j===olympe.C.Node.j.di}
|
|
330
330
|
function Tb(a,b){b===a?olympe.C.G.error('Setting a node as provider of itself. Ignoring'):(a.D&&a.D!==b&&Wb(a),Qb(b,a),Sb(b)?L(a,b.Fb,!0):void 0!==a.defaultValue?L(a,a.defaultValue,!0):bc(a),a.D=b)}function cc(a,b){a.Nc&&(a.Nc=void 0);a.cd='Repeater';Tb(a,b)}function Zb(a){a.D?Yb(a):null!==a.R&&0===Array.from(a.R.values()).filter(b=>!Sb(b)).length&&(a.lb&&(a.lb=!1,Rb(a)),Yb(a))}
|
|
331
331
|
function Qb(a,b){a.H||(a.H=new Map);a.H.set(b.T(),b);a.j===olympe.C.Node.j.$d&&olympe.C.G.warn('adding a downstream node on a deleted one (#'+a.T()+') !')}function Xb(a,b){a.H&&(b=b.T(),a.H.has(b)&&(a.H.delete(b),dc(a)))}function dc(a){if(null===a.getParent()){var b=a.H;b&&0<b.size||a.destroy()}}
|
|
332
|
-
olympe.C.Node=class extends olympe.C.
|
|
332
|
+
olympe.C.Node=class extends olympe.C.Zb{constructor({valueType:a,Nc:b,eA:c=!0,$f:d,Xn:e,debug:f=!1,tg:g=null,cd:h='Node',rj:k}={}){++Nb;super(String(Nb));this.debug=!!f;this.cd=h;h&&'string'===typeof h||(b?this.cd=b.name?b.name:'anon()':this.cd='Node');this.Wd=e&&0<e.length?e:null;this.tg=g&&0<g.length?g:null;this.valueType=a;this.Fb=void 0;this.wa=!1;this.j=olympe.C.Node.j.Sh;this.lb=!1;this.H=this.R=null;this.Nc=b;this.$f=d||null;this.defaultValue=this.Ua=this.D=void 0;this.rj=k;d&&d instanceof
|
|
333
333
|
olympe.C.Node&&Ob(this,d);if(g)for(b=0;b<g.length;b++)a=e[g[b]],Ob(this,a);c&&Rb(this)}zh(a){this.defaultValue=a;this.j===olympe.C.Node.j.Sh&&L(this,a,!0);return this}tj(a){this.valueType=a}Mb(){return this.valueType||Object}asObservable(a=olympe.C.Za()){return new rxjs.Observable(b=>{const c=a.run(()=>olympe.C.createNode(this.valueType,b.next.bind(b),null,[this],[0],`Observable of ${this.cd}`));c.onDestroy(()=>b.complete());return()=>c.destroy()})}Lc(){return this.j}fb(){return this.j===olympe.C.Node.j.$d}kd(){return this.j===
|
|
334
334
|
olympe.C.Node.j.fg}wb(...a){if(this.rj instanceof Function)return this.rj(...a);var b=a.length;--b;const c=a[b];--b;const d=a[b],e=Array(b);for(var f=0;f<b;f++)e[f]=a[f];a=this.Lc();a!==olympe.C.Node.j.fg&&a!==olympe.C.Node.j.$d||olympe.C.G.warn('Calling a function on a destroyed node!!!',this);a=d.F();b=[];if(1===a.length&&-1===a[0])for(var g of e)olympe.C.gb(g)&&b.push(g.Ba);else for(let h=0,k=a.length;h<k;h++)g=a[h],f=e[g],void 0!==f&&null!==f&&f.hh&&(e[g]=f.Ba,b.push(g));return M(new olympe.C.Node({valueType:d.H(),
|
|
335
335
|
Nc:c,$f:this,Xn:e,debug:!1,tg:b,cd:'Proxy.'+c+'()'}))}jl(a){if(null===this.getParent())olympe.C.G.warn('context is undefined, investigate');else if(this.getParent()!==a){olympe.C.G.warn('Investigate a potential issue in creator-createe link: create node mismatch',a,this.getParent());return}this.Ht(null);dc(this)}destroy(){var a=this.j;if(a!==olympe.C.Node.j.fg&&a!==olympe.C.Node.j.$d){Pb(this,olympe.C.Node.j.fg);if(a=this.H){for(const c of a.values())if(a.has(c.T())){var b=c;b.R&&b.R.delete(this.T());
|
|
@@ -384,11 +384,11 @@ b.g,b.b,b.a)}static create(a,b,c,d=1){return olympe.C.ua([a,b,c,d],(e,f,g,h)=>{e
|
|
|
384
384
|
b){return olympe.C.Color.create(this.j.Jj(a.rh(),b),this.D.Jj(a.oh(),b),this.b.Jj(a.kh(),b),this.a.Jj(a.jh(),b))}ey(a){return olympe.C.Color.create(this.j,this.D,this.b,a)}Kt(){return`rgba(${this.j},${this.D},${this.b},${this.a})`}no(){const a=(16777216|this.b|this.D<<8|this.j<<16).toString(16).slice(1),b=1===this.a.valueOf()?'':(256|255*this.a).toString(16).slice(1);return'#'+(a+b).toUpperCase()}toString(){return this.no()}Fa(a){return a instanceof olympe.C.Color?this.j.valueOf()===a.j.valueOf()&&
|
|
385
385
|
this.D.valueOf()===a.D.valueOf()&&this.b.valueOf()===a.b.valueOf()&&this.a.valueOf()===a.a.valueOf():!1}compare(a){const b=(this.rh().valueOf()<<16|this.oh().valueOf()<<8|this.kh().valueOf())-(a.rh().valueOf()<<16|a.oh().valueOf()<<8|a.kh().valueOf());return 0===b?this.jh().valueOf()-a.jh().valueOf():b}};olympe.C.Color.prototype.equals=olympe.C.Color.prototype.Fa;olympe.C.Color.prototype.toHexString=olympe.C.Color.prototype.no;olympe.C.Color.prototype.toRGBString=olympe.C.Color.prototype.Kt;
|
|
386
386
|
olympe.C.Color.prototype.getAlpha=olympe.C.Color.prototype.jh;olympe.C.Color.prototype.getGreen=olympe.C.Color.prototype.oh;olympe.C.Color.prototype.getBlue=olympe.C.Color.prototype.kh;olympe.C.Color.prototype.getRed=olympe.C.Color.prototype.rh;olympe.C.Color.create=olympe.C.Color.create;m=olympe.C.Color.prototype;m.toJSON.K=olympe.C.J.j;m.rh.K=olympe.C.J.F;m.kh.K=olympe.C.J.F;m.oh.K=olympe.C.J.F;m.jh.K=olympe.C.J.F;m.Ex.K=new olympe.C.J(()=>olympe.C.Color,[]);
|
|
387
|
-
m.ey.K=new olympe.C.J(()=>olympe.C.Color,[]);m.Kt.K=new olympe.C.J(()=>String,[]);m.no.K=new olympe.C.J(()=>String,[]);m.Fa.K=olympe.C.J.j;m.compare.K=olympe.C.J.j;olympe.C.File=class{ka(){}Aq(){}Bq(){}ht(){}ll(){}Nn(){}ml(){}rename(){}};olympe.C
|
|
388
|
-
olympe.C
|
|
389
|
-
a+b*b)),olympe.C.$)}normalize(){return olympe.C.ua([this.x,this.y],(a,b)=>{const c=Math.sqrt(a*a+b*b);return new olympe.C
|
|
390
|
-
this.y.he(a))}wx(a,b){return new olympe.C
|
|
391
|
-
m.xh.K=new olympe.C.J(()=>olympe.C
|
|
387
|
+
m.ey.K=new olympe.C.J(()=>olympe.C.Color,[]);m.Kt.K=new olympe.C.J(()=>String,[]);m.no.K=new olympe.C.J(()=>String,[]);m.Fa.K=olympe.C.J.j;m.compare.K=olympe.C.J.j;olympe.C.File=class{ka(){}Aq(){}Bq(){}ht(){}ll(){}Nn(){}ml(){}rename(){}};olympe.C.$b=class{constructor(a,b){this.x=olympe.C.ge(a);this.y=olympe.C.ge(b)}toJSON(){return'{ "type": "vector2", "x": '+JSON.stringify(olympe.C.Qa(this.x).valueOf())+', "y": '+JSON.stringify(olympe.C.Qa(this.y).valueOf())+' }'}static Qb(a){let b;'string'===typeof a?b=JSON.parse(a):b=a;return new olympe.C.$b(b.x,b.y)}bv(){return this.x}pA(a){kc(this.x,a)}dv(){return this.y}qA(a){kc(this.y,a)}ez(){return this.x.Ct(this.y)}he(a){return olympe.C.ua([this,a],(b,c)=>new olympe.C.$b(b.x.he(c.x),b.y.he(c.y)),
|
|
388
|
+
olympe.C.$b,'Vector2.plus')}xh(a){return olympe.C.ua([this,a],(b,c)=>new olympe.C.$b(b.x.xh(c.x),b.y.xh(c.y)),olympe.C.$b,'Vector2.minus')}Jz(a){return new olympe.C.$b(this.x.Al(a),this.y.Al(a))}Yx(a){return new olympe.C.$b(this.x.wj(a),this.y.wj(a))}Lz(){return new olympe.C.$b(this.x.Rj(),this.y.Rj())}Zx(a){return olympe.C.ua([this,a],(b,c)=>olympe.C.ua([b.x,b.y,c.x,c.y],(d,e,f,g)=>olympe.C.sa(d*f+e*g),olympe.C.$),olympe.C.$)}length(){return olympe.C.ua([this.x,this.y],(a,b)=>olympe.C.sa(Math.sqrt(a*
|
|
389
|
+
a+b*b)),olympe.C.$)}normalize(){return olympe.C.ua([this.x,this.y],(a,b)=>{const c=Math.sqrt(a*a+b*b);return new olympe.C.$b(a/c,b/c)},olympe.C.$b)}floor(){return olympe.C.ua([this.x,this.y],(a,b)=>new olympe.C.$b(Math.floor(a),Math.floor(b)),olympe.C.$b)}ceil(){return olympe.C.ua([this.x,this.y],(a,b)=>new olympe.C.$b(Math.ceil(a),Math.ceil(b)),olympe.C.$b)}round(){return olympe.C.ua([this.x,this.y],(a,b)=>new olympe.C.$b(Math.round(a),Math.round(b)),olympe.C.$b)}vx(a){return new olympe.C.$b(this.x.he(a),
|
|
390
|
+
this.y.he(a))}wx(a,b){return new olympe.C.$b(this.x.he(a),this.y.he(b))}Zc(){return olympe.C.ua([this.x,this.y],(a,b)=>olympe.C.yb(`Vector2[${a.valueOf()}, ${b.valueOf()}]`),olympe.C.Sa)}toString(){return`Vector2[${this.x.Ba.Fb}, ${this.y.Ba.Fb}]`}Fa(a){return this===a?!0:!1}};m=olympe.C.$b.prototype;m.toJSON.K=olympe.C.J.j;m.bv.K=olympe.C.J.F;m.pA.K=olympe.C.J.j;m.dv.K=olympe.C.J.F;m.qA.K=olympe.C.J.j;m.ez.K=olympe.C.J.F;m.he.K=new olympe.C.J(()=>olympe.C.$b,[0]);
|
|
391
|
+
m.xh.K=new olympe.C.J(()=>olympe.C.$b,[0]);m.Jz.K=olympe.C.J.R;m.Yx.K=olympe.C.J.R;m.Lz.K=olympe.C.J.R;m.Zx.K=new olympe.C.J(()=>olympe.C.$,[0]);m.length.K=olympe.C.J.F;m.normalize.K=olympe.C.J.R;m.floor.K=olympe.C.J.R;m.ceil.K=olympe.C.J.R;m.round.K=olympe.C.J.R;m.vx.K=olympe.C.J.R;m.wx.K=olympe.C.J.R;m.Zc.K=olympe.C.J.D;m.toString.K=olympe.C.J.j;m.Fa.K=olympe.C.J.j;olympe.C.Jg=class{constructor(){}Mb(){}Sd(){}get(){}si(){}has(){}uh(){}Kc(){}Vf(){}Df(){}xg(){}forEach(){}qe(){}};olympe.C.Jg.prototype.forEachCurrentValue=olympe.C.Jg.prototype.qe;olympe.C.Jg.prototype.forEach=olympe.C.Jg.prototype.forEach;m=olympe.C.Jg.prototype;m.has.K=olympe.C.J.N;m.uh.K=olympe.C.J.j;m.Kc.K=new olympe.C.J(()=>Object,[]);m.Vf.K=new olympe.C.J(()=>String,[]);m.Df.K=olympe.C.J.F;m.xg.K=olympe.C.J.j;m.forEach.K=new olympe.C.J(()=>{},[]);m.qe.K=olympe.C.J.j;olympe.C.wd=class extends olympe.C.Jg{Kd(){}Uf(){}nf(){}Tf(){}se(){}mf(){}xj(){}vi(){}};olympe.C.wd.prototype.getCurrentAt=olympe.C.wd.prototype.mf;olympe.C.wd.prototype.getAt=olympe.C.wd.prototype.se;olympe.C.wd.prototype.getCurrentKeyAt=olympe.C.wd.prototype.Tf;olympe.C.wd.prototype.getKeyAt=olympe.C.wd.prototype.nf;olympe.C.wd.prototype.getCurrentRank=olympe.C.wd.prototype.Uf;olympe.C.wd.prototype.getRank=olympe.C.wd.prototype.Kd;m=olympe.C.wd.prototype;m.Kd.K=olympe.C.J.F;m.Uf.K=olympe.C.J.j;
|
|
392
392
|
m.nf.K=new olympe.C.J(()=>String,[]);m.Tf.K=olympe.C.J.j;m.se.K=new olympe.C.J(()=>Object,[]);m.mf.K=olympe.C.J.j;m.xj.K=olympe.C.J.j;m.vi.K=new olympe.C.J(()=>Array,[]);olympe.C.Ei=class{constructor(a,b){this.H=b||olympe.C.Za();this.valueType=a||Object;this.values={};this.Ua=this.ia=null;this.Re=0;this.R=Object.create(null);this.lb=Object.create(null);this.size=0;this.F=null;this.H.onDestroy(()=>{const c=this.R;if(c){const d=Object.keys(c),e=d.length;for(let f=0;f<e;f++){const g=c[d[f]],h=Object.keys(g);for(let k=h.length,l=0;l<k;l++)g[h[l]].destroy()}}})}getContext(){return this.H}Mb(){return this.valueType}Sd(a){this.valueType=a;const b=this.ia;if(null!==b)for(const c in b)Object.prototype.hasOwnProperty.call(b,
|
|
393
393
|
c)&&gc(b[c],a)}get(a){const b=c=>{null===this.ia&&(this.ia={});return this.Cj(this.ia,c,this.values[c],this.valueType,'Map.get('+c+')')};return olympe.C.ua([a],c=>b(c),this.valueType)}si(a){a=this.values[a];return olympe.C.gb(a)?Sb(a.Ba)?a.Ba.Fb:void 0:a}has(a){const b=c=>{null===this.Ua&&(this.Ua={});return this.Cj(this.Ua,c,c in this.values?olympe.C.da.D:olympe.C.da.j,olympe.C.da,'Map.has('+c+')')};return olympe.C.ua([a],c=>b(c),olympe.C.da)}uh(a){return a in this.values}Cj(a,b,c,d,e){let f=a[b];
|
|
394
394
|
f||this.H.run(()=>{f=olympe.C.Xd(d,void 0,e);a[b]=f;f.Ba.onDestroy(()=>delete a[b]);olympe.C.gb(c)?jc(f,c):hc(f,c)});return f}Kc(){throw Error('Abstract method getFirstKey needs to be overridden');}Vf(){throw Error('Abstract method getFirstKey needs to be overridden');}Df(){null===this.F&&this.H.run(()=>{this.F=olympe.C.Xd(olympe.C.$,olympe.C.sa(this.size));this.F.Ba.onDestroy(()=>{this.F=null})});return this.F}xg(){return this.size}forEach(a,b){const c=this.tn();a=this.Is(c,a,b);this.sn(c,a)}tn(){return String(++this.Re)}sn(a,
|
|
@@ -405,7 +405,7 @@ if(null!==a)for(b in a)ic(a[parseInt(b,10)]);var b=this.Z;null!==b&&($b(b.Ba),hc
|
|
|
405
405
|
m.Tf.K=olympe.C.J.j;m.se.K=new olympe.C.J(()=>Object,[]);m.mf.K=olympe.C.J.j;m.xj.K=new olympe.C.J(()=>{},[]);m.tt.K=olympe.C.J.j;m.vi.K=new olympe.C.J(()=>Array,[]);m.qe.K=olympe.C.J.j;m.vn.K=olympe.C.J.j;m.un.K=olympe.C.J.j;m.Js.K=olympe.C.J.j;m.Of.K=olympe.C.J.j;m.ii.K=olympe.C.J.j;m.Mg.K=olympe.C.J.j;olympe.C.Map=class extends olympe.C.Ei{constructor(a){a===olympe.C.Proxy&&(a=Object);super(a);this.j=this.D=null}Sd(a){a===olympe.C.Proxy&&(a=Object);null!==this.D&&gc(this.D,a);super.Sd(a)}Kc(){null===this.D&&this.Hn();return this.D}Vf(){null===this.j&&this.Hn();return this.j}Hn(){this.getContext().run(()=>{this.D=olympe.C.Xd(this.Mb());this.j=olympe.C.Xd(String);this.Pj(this.Kn())})}Kn(){const a=this.values;let b,c;for(b in a)if(Object.prototype.hasOwnProperty.call(a,b)){c=b;break}return c}Pj(a){if(void 0!==
|
|
406
406
|
a){const b=this.values[a];b&&b instanceof olympe.C.Proxy?jc(this.D,b):hc(this.D,b);hc(this.j,a)}else void 0!==this.D.Ba.Fb&&(ic(this.D),ic(this.j))}set(a,b){this.fl(a,b);1===this.size&&null!==this.j&&this.Pj(a);this.Of()}remove(a){const b=this.qj(a);null!==this.j&&this.j.Ba.Fb===a&&this.Pj(this.Kn());return b}clear(){this.ii();null!==this.j&&this.Pj()}};m=olympe.C.Map.prototype;m.Sd.K=olympe.C.J.j;m.Kc.K=new olympe.C.J(()=>Object,[]);m.Vf.K=new olympe.C.J(()=>String,[]);m.Hn.K=olympe.C.J.j;
|
|
407
407
|
m.Kn.K=olympe.C.J.j;m.Pj.K=olympe.C.J.j;m.set.K=olympe.C.J.j;m.remove.K=new olympe.C.J(()=>Object,[]);m.clear.K=olympe.C.J.j;olympe.C.Pg=class extends olympe.C.Uj{constructor(a){super(a)}set(a,b,c){this.fl(a,b);void 0!==c&&olympe.C.Yc([c],d=>{this.vn(a,d)});this.Of()}remove(a){this.un(a);return this.qj(a)}clear(){this.ii()}};olympe.C.Pg.prototype.remove.K=olympe.C.J.j;olympe.C.Pg.prototype.clear.K=olympe.C.J.j;olympe.C.Ut=class extends olympe.C.nk{constructor(a,b){super(olympe.C.$,'animatedFlowSource');this.duration=a;this.j=b||olympe.C.$.vp.Hq}ub(){return olympe.C.Nz(this.node,this.duration,this.j,void 0)}};let sc=null;olympe.C.G=void 0;olympe.C.ho=void 0;olympe.C.ni=void 0;olympe.C.hi=new Map;olympe.C.hi.set(0,olympe.C.$.ZERO);olympe.C.hi.set(1,olympe.C.$.ONE);olympe.C.hi.set(2,olympe.C.$.Xw);olympe.C.el=new Map;olympe.C.el.set('',olympe.C.Sa.EMPTY);olympe.C.el.set(' ',olympe.C.Sa.Iw);olympe.C.createNode=function(a,b,c,d,e,f,g,h){return new olympe.C.Node({valueType:a,Nc:b,$f:c,Xn:d,debug:g,tg:e,cd:f,rj:h})};olympe.C.Yf=function(a){return a instanceof olympe.C.Node};
|
|
408
|
-
olympe.C.Xd=function(a,b,c){a=olympe.C.createNode(a,void 0,void 0,void 0,void 0,c);olympe.C.Yf(b)?cc(a,b):olympe.C.gb(b)?cc(a,b.Ba):L(a,b);return M(a)};olympe.C.gb=function(a){return!(!a||!a.hh)};olympe.C.qf=function(a){return!(!a||!(a instanceof olympe.C.Node||a.hh))};olympe.C.ao=function(a){return a instanceof olympe.C.
|
|
408
|
+
olympe.C.Xd=function(a,b,c){a=olympe.C.createNode(a,void 0,void 0,void 0,void 0,c);olympe.C.Yf(b)?cc(a,b):olympe.C.gb(b)?cc(a,b.Ba):L(a,b);return M(a)};olympe.C.gb=function(a){return!(!a||!a.hh)};olympe.C.qf=function(a){return!(!a||!(a instanceof olympe.C.Node||a.hh))};olympe.C.ao=function(a){return a instanceof olympe.C.Zb||a instanceof olympe.C.Ur||a instanceof olympe.C.Node};olympe.C.vh=function(a){return a instanceof olympe.C.nk};
|
|
409
409
|
olympe.C.co=function(a,b){if(void 0!==a){olympe.C.vh(a)&&(a=a.ub().Ba);if(!olympe.C.qf(a))return b(a);var c=[];olympe.C.gb(a)?c.push(a.Ba):c.push(a);return olympe.C.createNode(void 0,b,null,c,[0],'onResolved')}};olympe.C.Qa=function(a,b){let c=a;olympe.C.gb(a)?c=a.Ba.Fb:olympe.C.Yf(a)?c=a.Fb:olympe.C.vh(a)&&(c=a.ub().Ba.Fb);return void 0===c?b:c};
|
|
410
410
|
olympe.C.zh=function(a,b){let c;olympe.C.gb(a)?c=a.Ba:olympe.C.Yf(a)?c=a:olympe.C.vh(a)&&(c=a.ub().Ba);c&&olympe.C.Yc([b],d=>{c.zh(d)},'setDefaultValue');return a};olympe.C.Bi=function(a,b,c,d){const e=a.length,f=Array(e),g=[];let h;for(let k=0;k<e;k++)h=a[k],void 0!==h&&null!==h&&(void 0!==h.Gs?(h=h.Ba,g.push(k)):h instanceof olympe.C.Node?g.push(k):olympe.C.vh(h)&&(h=h.ub().Ba,g.push(k))),f[k]=h;return olympe.C.createNode(c,b,null,f,g,d||'syncNodes')};
|
|
411
411
|
olympe.C.Ae=function(a,b,c,d){return M(olympe.C.Bi(a,b,c,d||'syncProxies'))};const tc=a=>{for(const b of a)if(olympe.C.qf(b)||olympe.C.vh(b))return!1;return!0};olympe.C.ua=function(a,b,c,d,e){if(tc(a))return b(...a);const f=olympe.C.Bi(a,b,c,d||'TransformFlows');e&&olympe.C.Yc([e],g=>{f.zh(g)},'setDefaultValue');return M(f)};olympe.C.Yc=function(a,b,c){tc(a)?b(...a):olympe.C.Bi(a,b,void 0,c||'processFlows')};
|
|
@@ -418,14 +418,14 @@ olympe.C.$x=function(a,b,c){if(a){var d=a.T();null===sc&&(sc={});if(sc[d])olympe
|
|
|
418
418
|
olympe.C.sa=function(a){if(void 0===a)return olympe.C.$.ZERO;if(a instanceof olympe.C.$)return a;a&&a.valueOf&&(a=a.valueOf());if('number'===typeof a){if(isNaN(a))return olympe.C.$.Oq;if(a===Math.PI)return olympe.C.$.PI;if(Infinity===a)return olympe.C.$.Ru;if(-Infinity===a)return olympe.C.$.Ov;if(isNaN(a))var b=!1;else b=parseFloat(a),b=(b|0)===b;return b&&-1<=a&&100>=a?(olympe.C.hi.has(a)||olympe.C.hi.set(a,new olympe.C.$(a)),olympe.C.hi.get(a)):new olympe.C.$(a)}return null};
|
|
419
419
|
olympe.C.ge=function(a){return void 0===a?olympe.C.Xd(olympe.C.$):olympe.C.Xd(olympe.C.$,olympe.C.qf(a)?a:olympe.C.sa(a))};olympe.C.Nz=olympe.C.$.animate;olympe.C.xF=function(a,b){return new olympe.C.Ut(a,b)};olympe.C.yb=function(a){if(a instanceof olympe.C.Sa)return a;a instanceof Object&&(a=a.valueOf());const b=typeof a;if('string'===b||'number'===b||'boolean'===b)return a=String(a),olympe.C.el.has(a)?olympe.C.el.get(a):new olympe.C.Sa(a)};
|
|
420
420
|
olympe.C.CF=function(a){return void 0===a?olympe.C.Xd(olympe.C.Sa):olympe.C.Xd(olympe.C.Sa,olympe.C.qf(a)?a:olympe.C.yb(a))};olympe.C.Sb=function(a){return a instanceof olympe.C.da?a:void 0!==a&&null!==a&&a.valueOf()?olympe.C.da.D:olympe.C.da.j};olympe.C.zF=function(a){return void 0===a?olympe.C.Xd(olympe.C.da):olympe.C.Xd(olympe.C.da,olympe.C.qf(a)?a:olympe.C.Sb(a))};olympe.C.yF=function(a){if(a instanceof Date)return new olympe.C.eb(a)};
|
|
421
|
-
olympe.C.BF=function(a){return olympe.C.Xd(olympe.C.eb,void 0!==a?new olympe.C.eb(a):null)};olympe.C.pt=a=>a instanceof olympe.C.da||a instanceof olympe.C.$||a instanceof olympe.C.Sa||a instanceof olympe.C.eb;olympe.C.DF=function(a,b){return olympe.C.Xd(olympe.C
|
|
421
|
+
olympe.C.BF=function(a){return olympe.C.Xd(olympe.C.eb,void 0!==a?new olympe.C.eb(a):null)};olympe.C.pt=a=>a instanceof olympe.C.da||a instanceof olympe.C.$||a instanceof olympe.C.Sa||a instanceof olympe.C.eb;olympe.C.DF=function(a,b){return olympe.C.Xd(olympe.C.$b,void 0===a&&void 0===b?void 0:new olympe.C.$b(a,b))};olympe.C.Zz=function(a,b,c,d){let e;void 0!==a&&(a instanceof olympe.C.Color?e=a:e=olympe.C.Color.create(a,b,c,d));return olympe.C.Xd(olympe.C.Color,e)};olympe.C.AF=olympe.C.Zz;
|
|
422
422
|
olympe.C.Rx=function(a){olympe.C.G=a;olympe.C.ni=olympe.C.nh()};olympe.C.nh=function(){olympe.C.ho||(olympe.C.ho=new olympe.C.Ur);return olympe.C.ho};olympe.C.Za=function(){olympe.C.ni||(olympe.C.ni=olympe.C.nh());return olympe.C.ni};olympe.C.Gt=function(a){const b=olympe.C.ni;olympe.C.ao(a)&&(olympe.C.ni=a);return null!=b?b:null};
|
|
423
|
-
olympe.C.Qb=a=>{a='string'===typeof a?JSON.parse(a):a;if(a.type){let b=null;switch(a.type){case 'dateTime':b=olympe.C.eb.Qb(a);break;case 'number':b=olympe.C.$.Qb(a);break;case 'string':b=olympe.C.Sa.Qb(a);break;case 'vector2':b=olympe.C.
|
|
424
|
-
olympe.C.yD=class{constructor(){this.j=new olympe.C.
|
|
425
|
-
class vc{constructor(a,b,c,d){this.id=a;this.D=new olympe.C.
|
|
423
|
+
olympe.C.Qb=a=>{a='string'===typeof a?JSON.parse(a):a;if(a.type){let b=null;switch(a.type){case 'dateTime':b=olympe.C.eb.Qb(a);break;case 'number':b=olympe.C.$.Qb(a);break;case 'string':b=olympe.C.Sa.Qb(a);break;case 'vector2':b=olympe.C.$b.Qb(a);break;case 'color':b=olympe.C.Color.Qb(a);break;case 'boolean':b=olympe.C.da.Qb(a)}return b}return null};function uc(a){a.j.fb()||(a.F.forEach(b=>{b.destroy()}),a.F.clear(),a.D.clear(),a.size.clear(),a.N.clear(),a.R.length=0,a.H.length=0)}
|
|
424
|
+
olympe.C.yD=class{constructor(){this.j=new olympe.C.Zb('Slot Manager context');this.F=new Map;this.j.run(()=>{this.D=olympe.C.bc(vc,'Last slot manager entry');this.size=lc(olympe.C.bc(olympe.C.$,'SlotManager size').repeat(this.D.ub().Qn()),olympe.C.$.ZERO);this.N=lc(olympe.C.bc(olympe.C.$,'last valid slots'),olympe.C.sa(-1))});this.R=[];this.H=[];this.j.onDestroy(()=>{uc(this)})}};
|
|
425
|
+
class vc{constructor(a,b,c,d){this.id=a;this.D=new olympe.C.Zb('Slot manager entry');this.H=c;this.N=d;this.D.run(()=>{const e=lc(olympe.C.bc(olympe.C.$),olympe.C.$.ZERO);olympe.C.gb(b)?e.repeat(b):e.update(b);this.j=olympe.C.bc(olympe.C.$);this.F=this.j.ub().he(e.ub())});this.next=null}T(){return this.id}iz(){return this.j.ub()}Qn(){return this.F}Kd(){return this.H}rz(){return this.N}BA(a){this.H=a}oA(a){null===a?this.j.update(olympe.C.$.ZERO):(this.j.repeat(a.Qn()),a.next=this)}ev(){this.j.clear();
|
|
426
426
|
this.next=null}destroy(){this.D.destroy();this.F=this.j=this.next=null}}m=vc.prototype;m.T.K=olympe.C.J.j;m.iz.K=new olympe.C.J(()=>olympe.C.$);m.Qn.K=new olympe.C.J(()=>olympe.C.$);m.Kd.K=olympe.C.J.j;m.rz.K=olympe.C.J.j;m.BA.K=olympe.C.J.j;m.oA.K=olympe.C.J.j;m.ev.K=olympe.C.J.j;m.destroy.K=olympe.C.J.j;olympe.C.P={Ca:'df.Logger'};olympe.V.config(a=>{E(a,olympe.C.Config.Pq,Number.POSITIVE_INFINITY);D(a,olympe.C.P.Ca,[olympe.ha.P.Ea],b=>b.dd('df'))},'olympe.df');olympe.V.run([olympe.C.P.Ca],a=>{olympe.C.Rx(a)},'olympe.df');olympe.host={};const wc=new Map,xc=new Map;olympe.host.Wq=class{static register(a,b,...c){wc.set(a,b);0<c.length&&xc.set(a,c)}static create(a,b,c,d){const e=wc.get(a);if(void 0===e)throw Error('Undefined UI element type: '+a);a=xc.get(a);return void 0!==a?new e(b,c,...a.map(f=>Sa(d,f))):new e(b,c)}};function yc(a,b,c){a.G.debug('CREATE #',b,', type=',c);a.j.set(b,olympe.host.Wq.create(c,b,a.G,a.H))}function zc(a,b,c,...d){const e=a.j.get(b);if(void 0!==e){a.G.H()<=olympe.ha.zb.j.dg&&a.G.debug('CALL #'+b+', '+c+'('+Array.prototype.slice.call(d,0)+')');b=[];for(const f of d)if(void 0===f||null===f)b.push(f);else if(olympe.C.gb(f))b.push(a.j.get(f.ox)||null);else if('function'===typeof f){const g=f,h=olympe.C.Za();b.push((...k)=>{h.fb()||g(...k)})}else b.push(f.valueOf());e[c].apply(e,b)}}
|
|
427
427
|
function Ac(a){var b=olympe.host.Qe.Jd,c=olympe.host.Qe.Vq.As;++a.F;const d=a.F;yc(a,d,c);const e=olympe.C.createNode(b,void 0,void 0,void 0,void 0,'Native('+d+')',!1,function(){var f=arguments.length-2;const g=Array.from({length:f}),h=[],k=arguments[f+1],l=d+'_'+k;this.D.has(l)&&this.D.get(l).destroy();for(let n=0;n<f;n++){let p=arguments[n];olympe.C.gb(p)?(h.push(n),p=p.Ba):olympe.C.Yf(p)&&h.push(n);g[n]=p}0===h.length?e.run(()=>{zc(this,d,k,...g)}):(f=olympe.C.createNode(void 0,(...n)=>{e.run(()=>
|
|
428
|
-
{zc(this,d,k,...n)})},void 0,g,h,'Native('+d+').'+k),this.D.set(l,f),f.onDestroy(()=>this.D.delete(l)));return null}.bind(a));e.Yd(a.N.bind(a,d));a=M(e);a.ox=d;L(e,a);return a}olympe.host.Ta=class{constructor(a,b){this.G=a;this.H=b;this.F=0;this.j=new Map;this.D=new Map;a.debug('Starting host manager')}Wa(){return this.G}N(a){this.G.debug('DESTROY #',a);const b=this.j.get(a);this.j.delete(a);b.destroy()}};olympe.host.Td=class{constructor(a){this.j=a;this.D=olympe.C.Za()}F(){return this.j}kd(){return this.j.Ba.kd()||this.D.kd()}fb(){return this.j.Ba.fb()}};olympe.host.Td.prototype.F.K=new olympe.C.J(()=>olympe.host.Qe.Td,[]);olympe.host.Yk=class{j(){}D(){}};olympe.host.Lu=class{};function Bc(a,b){var c=olympe.host.ag;const d=olympe.U.Mc(),e=new olympe.C.
|
|
428
|
+
{zc(this,d,k,...n)})},void 0,g,h,'Native('+d+').'+k),this.D.set(l,f),f.onDestroy(()=>this.D.delete(l)));return null}.bind(a));e.Yd(a.N.bind(a,d));a=M(e);a.ox=d;L(e,a);return a}olympe.host.Ta=class{constructor(a,b){this.G=a;this.H=b;this.F=0;this.j=new Map;this.D=new Map;a.debug('Starting host manager')}Wa(){return this.G}N(a){this.G.debug('DESTROY #',a);const b=this.j.get(a);this.j.delete(a);b.destroy()}};olympe.host.Td=class{constructor(a){this.j=a;this.D=olympe.C.Za()}F(){return this.j}kd(){return this.j.Ba.kd()||this.D.kd()}fb(){return this.j.Ba.fb()}};olympe.host.Td.prototype.F.K=new olympe.C.J(()=>olympe.host.Qe.Td,[]);olympe.host.Yk=class{j(){}D(){}};olympe.host.Lu=class{};function Bc(a,b){var c=olympe.host.ag;const d=olympe.U.Mc(),e=new olympe.C.Zb('onTimeout context');c.j.X(b,d,()=>{e.fb()||e.kd()||e.run(a);c.j.F(d)});return new olympe.host.Jd.D(c.j,d,e)}function Cc(a,b){var c=olympe.host.ag;const d=olympe.U.Mc(),e=new olympe.C.Zb('onInterval context');c.j.R(b,d,()=>{e.fb()||e.kd()?c.j.D(d):e.run(a)})}olympe.host.Jd=class{constructor(a){this.j=Ac(a)}};olympe.host.Jd.j=class{constructor(a,b,c){this.ag=a;this.id=b;this.j=null!=c?c:null}T(){return this.id}cancel(){}};
|
|
429
429
|
olympe.host.Jd.H=class extends olympe.host.Jd.j{cancel(){this.ag.N(this.id);let a;null==(a=this.j)||a.destroy();this.j=null}};olympe.host.Jd.D=class extends olympe.host.Jd.j{cancel(){this.ag.F(this.id);let a;null==(a=this.j)||a.destroy();this.j=null}};olympe.host.Jd.F=class extends olympe.host.Jd.j{cancel(){this.ag.D(this.id);let a;null==(a=this.j)||a.destroy();this.j=null}};olympe.host.Le=class{H(a,b){return null!=b?b:''}ia(a,b){return null!=b?b:''}Ha(a,b){return null!=b?b:''}F(){}j(a,b){return null!=b?b:''}D(){}};olympe.host.Le.j={LIVENESS:'liveness',READINESS:'readiness',ALL:'all'};olympe.host.Qe={};olympe.host.Qe.Td=class{destroy(){}};olympe.host.Qe.Td.prototype.destroy=olympe.host.Qe.Td.prototype.destroy;olympe.host.Qe.Vq={JA:100,LA:101,KA:102,NA:103,MA:104,IA:105,pD:201,nD:202,kD:204,sD:205,jD:206,mD:207,qD:208,tD:209,uD:210,vD:211,lD:212,rD:218,oD:219,wD:220,iD:221,hD:222,DD:300,ED:301,FD:302,JD:303,KD:304,LD:305,GD:310,HD:311,ID:312,JC:400,KC:401,LC:402,xC:450,qC:500,oC:501,tC:502,sC:503,pC:504,rC:505,dE:600,VD:601,ZD:602,RD:603,SD:604,PD:605,UD:606,jE:607,bE:608,MD:609,QD:610,TD:611,aE:612,fE:613,ND:614,eE:615,$D:616,iE:617,WD:618,XD:619,YD:620,cE:630,OD:631,gE:632,hE:633,PE:700,sE:701,tE:702,
|
|
430
430
|
uE:703,wE:704,xE:705,yE:706,vE:707,AE:708,zE:709,BE:710,FE:711,NE:712,CE:713,DE:714,GE:715,HE:716,JE:717,KE:718,ME:719,IE:720,LE:721,OE:722,EE:723,QE:724,RE:725,As:800};olympe.host.Qe.Jd=class{N(){}X(){}F(){}R(){}D(){}};olympe.host.P={Uk:'host.System',bq:'host.HistoryManager',Wr:'host.Scheduler',Ca:'host.platform.Logger',Ea:'host.Manager',Ie:'host.ProcessManager'};olympe.host.Config={Nk:'host.role',cq:'host.currentHost',tr:'host.processProbe',cs:'host.gracefulShutdownTimeout'};olympe.host.Yg={Ll:'active',Wh:'preview'};olympe.host.ag=null;
|
|
431
431
|
olympe.V.config(function(a){var b,c;const d='object'===typeof window&&(null==(b=window)?void 0:null==(c=b.location)?void 0:c.hostname)||'127.0.0.1';a.setParameter(olympe.host.Config.cq,d);b=olympe.host.Yg.Ll;c=olympe.host.Yg.Wh;E(a,olympe.host.Config.Nk,d.startsWith(`${c}.`)?c:b);Xa(a,olympe.host.P.Uk);Xa(a,olympe.host.P.bq);C(a,olympe.host.P.Ie,olympe.host.Le);D(a,olympe.host.P.Ca,[olympe.ha.P.Ea],e=>e.dd('host'));C(a,olympe.host.P.Ea,olympe.host.Ta,olympe.host.P.Ca,olympe.V.P.Fg);D(a,olympe.host.P.Wr,
|
|
@@ -481,10 +481,10 @@ hd.Sk;yield c.j.close();c.j=c.createServer();yield c.start()})})})}stop(){return
|
|
|
481
481
|
fd(a);a.addContentTypeParser('*',{parseAs:'buffer'},(c,d,e)=>{e(null,d)});return a}vj(a,b=1E3){this.timer&&clearTimeout(this.timer);this.timer=setTimeout(a,b)}};olympe.V.config(function(a){C(a,olympe.net.P.oj,olympe.Xa.node.net.http.fi,olympe.net.P.Ca,new olympe.V.ma(olympe.net.Config.Cf),new olympe.V.ma(olympe.net.Config.gq),new olympe.V.ma(olympe.net.Config.zs),new olympe.V.ma(olympe.net.Config.fq))},'olympe.native.node.net.http');olympe.Xa.node.U={};const od=require('stream').Readable,pd=require('buffer');
|
|
482
482
|
olympe.Xa.node.U.Vl=class extends olympe.U.Vl{D(a){return new Uint8Array(Buffer.from(a,'base64'))}j(a){return a instanceof Uint8Array?Buffer.from(a,a.byteOffset,a.byteLength).toString('base64'):Buffer.from(a).toString('base64')}H(a){const b=this,c=()=>super.H;return u(function*(){if(a instanceof od){const d=[];for(const e=ha(a);;){const f=yield e.next();if(f.done)break;d.push(f.value)}return Buffer.concat(d)}return c().call(b,a)})}F(a){return Promise.resolve().then(()=>pd.resolveObjectURL(a)).catch(b=>
|
|
483
483
|
{throw Error(`Error while trying to fetch buffer from ObjectURL: ${b}`);})}};olympe.V.config(function(a){Va(a,olympe.U.P.Eg,olympe.Xa.node.U.Vl)},'olympe.native.node.utils');olympe.async={};function qd(a,b){a.H||a.X.push(a.F.tc(b))}
|
|
484
|
-
olympe.async.Gp=class{constructor(a,b=void 0===a){this.D=[];this.X=[];this.F=a||new olympe.C.
|
|
484
|
+
olympe.async.Gp=class{constructor(a,b=void 0===a){this.D=[];this.X=[];this.F=a||new olympe.C.Zb('Async executor context');this.ia=b;this.j=null;this.env=new Map;this.env.set('Executor',this);this.H=this.N=!1;this.G=null;this.timer=this.timeout=0;this.Z=olympe.U.Mc()}bg(a){0<=a&&(this.timeout=a);return this}Wa(){return this.G}add(a){this.H||this.D.push(this.F.tc(a));return this}start(){this.N||(this.G&&this.G.log('Executor started.'),this.N=!0,this.F.onDestroy(()=>{this.j='Context destroyed.';this.complete(!1)},
|
|
485
485
|
this.Z),0<this.timeout&&(this.timer=setTimeout(()=>{this.j='Timeout expired.';this.timer=0;this.complete(!1)},this.timeout)))}clear(){this.D=[];this.X=[];this.env.clear();this.ia&&this.F.destroy()}complete(a){this.F.Zf(this.Z);if(!this.H){this.H=!0;this.timer&&(clearTimeout(this.timer),this.timer=0);this.G&&this.G.log(a?'Executor completed successfully':`Executor completed with error: ${this.j}`);for(const b of this.X)b(a,a?null:this.j,this.env);this.clear()}}getContext(){return this.F}};
|
|
486
|
-
function rd(a){if(0<a.D.length){const b=a.D.shift();a.G&&a.G.log(`Executing next task. ${a.D.length} tasks left in the pipeline.`);a.getContext().run(()=>{b(()=>{Promise.resolve().then(()=>{rd(a)})},c=>{c&&(a.j=c);a.complete(!1)},a.env)})}else a.complete(!0)}olympe.async.Lw=class extends olympe.async.Gp{static create(){return new olympe.async.Lw(new olympe.C.
|
|
487
|
-
olympe.async.Hk=class extends olympe.async.Gp{constructor(a,b){super(a,b);this.R=0;this.ba=!0}static create(){return new olympe.async.Hk(new olympe.C.
|
|
486
|
+
function rd(a){if(0<a.D.length){const b=a.D.shift();a.G&&a.G.log(`Executing next task. ${a.D.length} tasks left in the pipeline.`);a.getContext().run(()=>{b(()=>{Promise.resolve().then(()=>{rd(a)})},c=>{c&&(a.j=c);a.complete(!1)},a.env)})}else a.complete(!0)}olympe.async.Lw=class extends olympe.async.Gp{static create(){return new olympe.async.Lw(new olympe.C.Zb('SequencedExecutor'),!0)}start(){this.N||(super.start(),rd(this))}};
|
|
487
|
+
olympe.async.Hk=class extends olympe.async.Gp{constructor(a,b){super(a,b);this.R=0;this.ba=!0}static create(){return new olympe.async.Hk(new olympe.C.Zb('ParallelExecutor'),!0)}run(a){this.G&&this.G.log('Starting a task');this.getContext().run(()=>{a(()=>{this.done()},b=>{this.ba=!1;b&&(this.j=this.j?`${this.j}. ${b}`:b);this.done()},this.env)})}add(a){super.add(a);this.N&&!this.H&&(this.R++,this.run(a));return this}done(){this.R--;0>=this.R&&this.complete(this.ba)}start(){if(!this.N)if(super.start(),
|
|
488
488
|
0<this.D.length){this.R=this.D.length;for(const a of this.D)this.run(a)}else this.complete(!0)}};olympe.Eb={};olympe.Eb.Bv=class{D(){return u(function*(){})}X(){}N(){}F(){}R(){}forEach(){}has(){}get(){}set(){}remove(){}ba(){}Z(){}clear(){}H(){}};olympe.Eb.Cv=class{D(){}};olympe.Eb.Storage=class{open(){}write(){}close(){}};olympe.Eb.Lv=class{get(){return null}set(){return this}delete(){}};olympe.Eb.P={uk:'localStorage.KeyValueDatabaseManager',ij:'localStorage.Storage',bB:'localStorage.DatacloudStorage',Im:'localStorage.LocalStorage',Ca:'localStorage.Logger',bh:'localStorage.prefix'};olympe.V.config(function(a){Xa(a,olympe.Eb.P.uk);D(a,olympe.Eb.P.bh,[],()=>'olympe');D(a,olympe.Eb.P.Ca,[olympe.ha.P.Ea],b=>b.dd('localstorage'));C(a,olympe.Eb.P.Im,olympe.Eb.Lv)},'olympe.localstorage');olympe.L={};olympe.L.Ob={kk:'urls.FileSvc',Do:'urls.BackupSvc',Ir:'urls.RestoreBackupSvc',Kg:'urls.GetContext',Xp:'urls.GraphDef',Ro:'urls.StaticGraphDef',TRANSACTION:'urls.Transaction',ys:'urls.UserTagFromToken',ix:'urls.UserNameFromTag',hx:'urls.UserRoles',sw:'urls.RoleMembers',Ak:'urls.OpenIDSvc',Bp:'urls.EventMonitor'};
|
|
489
489
|
olympe.V.config(a=>{E(a,olympe.L.Ob.kk,'rest/filesvc');E(a,olympe.L.Ob.Do,'rest/backupsvc');E(a,olympe.L.Ob.Ir,'rest/backupsvc/restore');E(a,olympe.L.Ob.Ak,'rest/openid');E(a,olympe.L.Ob.Kg,'rest/initialData');E(a,olympe.L.Ob.Xp,'rest/querysvc/graphDef');E(a,olympe.L.Ob.Ro,'rest/querysvc/graphDef/static');E(a,olympe.L.Ob.TRANSACTION,'rest/transaction');E(a,olympe.L.Ob.ys,'rest/token');E(a,olympe.L.Ob.ix,'rest/authorization/getUserTag');E(a,olympe.L.Ob.hx,'rest/authorization/getUserRoles');E(a,olympe.L.Ob.sw,
|
|
490
490
|
'rest/authorization/roleMembers');E(a,olympe.L.Ob.Bp,'rest/backend/event')});function sd(a,b){a.validate=b.ack.bind(b);a.N=b.reject.bind(b);a.H=b.yi();return a}
|
|
@@ -556,7 +556,7 @@ a:if(!this.X)throw Error('No stream handler has been set, so cannot serialize th
|
|
|
556
556
|
typeof a:return a}if(Array.isArray(a))return a.map(d=>this.j(d));if('object'!==typeof a)throw new olympe.error.up(`Impossible to deserialize the following value: ${a}`);const {t:b,v:c}=a;switch(b){case olympe.L.cc.j.hm:return new Date(c);case olympe.L.cc.j.COLOR:return olympe.C.Color.Qb(c);case olympe.L.cc.j.Lq:return new Map(Object.entries(c).map(([e,f])=>[e,this.j(f)]));case olympe.L.cc.j.$g:return new Set(c.map(e=>this.j(e)));case olympe.L.cc.j.ARRAY_BUFFER:return olympe.U.kf().D(c).buffer;case olympe.L.cc.j.ci:return olympe.U.kf().D(c);
|
|
557
557
|
case olympe.L.cc.j.le:if(!this.R)throw Error('No stream handler has been set, so cannot deserialize the stream.');let d;return null==(d=this.R)?void 0:d.call(this,c);case olympe.L.cc.j.dr:return Object.entries(c).reduce((e,[f,g])=>{e[f]=this.j(g);return e},{});default:throw new olympe.error.up(`Impossible to deserialize the following value: ${c}`);}}format(a,b){return{t:a,v:b}}};olympe.L.cc.j={hm:1,COLOR:2,Lq:3,$g:4,ARRAY_BUFFER:5,ci:6,le:7,dr:8};const Me=olympe.L.pa.j.SEND,Ne=olympe.L.pa.j.GET,Oe=olympe.L.pa.j.PUBLISH,Pe=olympe.L.pa.j.SUBSCRIBE,Qe=olympe.L.pa.j.kg,Re=olympe.L.pa.j.vs,Se=olympe.L.pa.j.Xr,Te=olympe.L.pa.j.Bb,Ue=olympe.L.pa.j.bl,Ve=olympe.L.pa.j.pg,We=olympe.L.pa.F.ej,Xe=olympe.L.pa.F.Xm;function Ed(a,b){a.j||(a.j=gb(new olympe.U.pn(a.D.ih+3E4),c=>{let d;null==(d=a.H)||d.call(a,c)}));a.j.add(b)}
|
|
558
558
|
function Ye(a){let b,c;const d=null!=(c=null==(b=a.jc())?void 0:b.code)?c:olympe.error.mc.$k;let e,f;a=null!=(f=null==(e=a.jc())?void 0:e.reason)?f:'Unknown Error';return d===olympe.error.mc.TIMEOUT?new olympe.error.Zk(a):new olympe.error.qd(a,d)}function Ze(a,b){const c=olympe.L.pa.j.pg,d=olympe.L.pa.j.rs;return b.getType()!==c?Promise.reject('Should only call `topicAck` on TOPIC responses'):a.send(b.jc().seq,b.jb(),b.jb(),d)}
|
|
559
|
-
olympe.L.rb=class{constructor(a,b){this.D=olympe.L.lh();this.F=a;this.H=this.j=null;this.N=new olympe.C.
|
|
559
|
+
olympe.L.rb=class{constructor(a,b){this.D=olympe.L.lh();this.F=a;this.H=this.j=null;this.N=new olympe.C.Zb(`Service ${a}`,'function'===typeof b.Db?b.Db():b);this.G=olympe.ha.Wa(`Service ${this.F}`)}It(a){this.H=a;return this}stop(){this.N.destroy()}clear(){Td(this.D,this.F).catch(b=>this.G.error('Failed to unsubscribe from '+this.F+', error: '+b));if(this.H){let b;null==(b=this.j)||b.forEach(c=>{let d;return null==(d=this.H)?void 0:d.call(this,c)})}let a;null==(a=this.j)||a.clear()}static md(a,b){return u(function*(){yield olympe.L.lh().request(a,
|
|
560
560
|
a,Oe,b,!1)})}static mt(a){const b=olympe.L.lh(),c=new olympe.L.Ik(a,b);be(b,a).then(d=>$e(c,d)).catch(d=>olympe.ha.Wa('Publisher for service '+a).error('Failed to get session id for publisher',d));return c}static send(a,b,c={}){return olympe.L.lh().request(a,a,Me,b,!0,c.timeout).then(d=>{switch(d.getType()){case Se:break;case Te:throw Ye(d);default:throw Error('Unsupported response type for a SEND request');}})}static get(a,b,c={}){return olympe.L.lh().request(a,a,Ne,b,!0,c.timeout).then(d=>{switch(d.getType()){case Ue:d=
|
|
561
561
|
d.jc();if(null!==d)return d;throw Error('No payload after request to service: '+a);case Te:throw Ye(d);default:throw Error('Unsupported response type for a GET request');}})}static observe(a,b,c,d={}){const e='function'===typeof b.Db?b.Db():b,f=olympe.L.lh(),g=new olympe.L.Ik(a,f);return{observable:(new rxjs.Observable(h=>{let k=null,l=null,n=null;const p=()=>{h.complete();l&&n&&(ge(f,a,n,l),l=n=null);k&&(Td(f,k).catch(q=>olympe.ha.Wa('Service '+a).error('Failed to unsubscribe from a topic '+q)),
|
|
562
562
|
k=null)};e.Yd(p);f.request(a,a,Pe,c,!0,d.timeout).then(q=>{switch(q.getType()){case Ve:$e(g,q.jb());const r=q.jc();k=r.topic;q.ack().catch(()=>olympe.ha.Wa('Service '+a).error('Failed to ack the msg'));Ud(f,k,t=>{t.getType()===Oe?h.next(t.jc()):(h.error('Unsupported notification message. It should be a publish'),p())}).then(()=>{l=r.id;n=q.jb();fe(f,a,n,l,r.refresh,t=>h.error(t));Ze(f,q).catch(t=>{h.error(`Was unable to ack the subscription: ${t}`);p()})}).catch(t=>{h.error(`Was not able to subscribe to notification topic ${k}: ${t}`);
|
|
@@ -628,19 +628,19 @@ olympe.dc.Request.j={pc:1,Kg:10,Fu:24,Yp:25,Gu:28,Ug:30,Kk:31,WC:32,ef:40,fh:41,
|
|
|
628
628
|
p.W(),!a.sources.has(h)){const q=new olympe.dc.sources.Iq(a.G,p);a.sources.set(h,q);l=c.j(()=>q.healthCheck(),h,olympe.host.Le.j.READINESS);n=c.H(()=>q.destroy(),`Datasource ${h}`);g.set(h,[l,n]);q.init(a)}});Of(b,a.j,'router',!0)},'router')}function Xf(a,b,c){let d=a.D.get(b);void 0===d&&(d=[],a.D.set(b,d));d.push(c)}
|
|
629
629
|
olympe.dc.uw=class{constructor(a,b,c,d,e,f,g){this.G=a;this.j=f;this.F=g;this.sources=new Map;this.D=new Map;Wf(this,d,e,b,c)}request(a){this.G.debug('Router: sends',a);return this.jb(a.ic()).request(a)}subscribe(a,b){this.G.debug('Router: subscribes',a);return this.jb(a.ic()).subscribe(a,b)}Oc(a){if(a.ic()!==this.j)this.G.error(`Router: try to reply to a request that is not for this data cloud, ignore it: ${a}`);else{var b;null==(b=this.D.get(a.getType()))||b.forEach(c=>c(a))}}zi(a){let b;null==
|
|
630
630
|
(b=this.D.get(a.getType()))||b.forEach(c=>c(a));return this.jb(olympe.dc.Ia.$e).zi(a)}jb(a){let b;return null!=(b=this.sources.get(a))?b:this.sources.get(olympe.dc.Ia.$e)}};function Pf(a,b){b=new olympe.dc.Ig(a.T(),null!=b?b:null);b.j=a;return b}function Yf(a,b,c,d){c=new olympe.dc.Ig(null!=d?d:olympe.U.Mc(),null!=c?c:null);c.D=b;c.Ga=a;return c}
|
|
631
|
-
olympe.dc.Ig=class{constructor(a,b){this.id=a;this.Ga=this.j=this.D=null;this.il=b}static j(a){return Yf(a.p,a.s,a.t,a.i)}T(){return this.id}rc(a){return this.j instanceof olympe.dc.db.ec?this.j.rc(a):Array.isArray(this.Ga)?(new olympe.dc.transaction.dj(this.D)).D(this.Ga,a):a}H(){let a,b,c,d;return null!=(d=null!=(c=null==(a=this.Ga)?void 0:a.length)?c:null==(b=this.j)?void 0:b.H())?d:0}
|
|
631
|
+
olympe.dc.Ig=class{constructor(a,b){this.id=a;this.Ga=this.j=this.D=null;this.il=b}static j(a){return Yf(a.p,a.s,a.t,a.i)}T(){return this.id}rc(a){return this.j instanceof olympe.dc.db.ec?this.j.rc(a):Array.isArray(this.Ga)?(new olympe.dc.transaction.dj(this.D)).D(this.Ga,a):a}H(){let a,b,c,d;return null!=(d=null!=(c=null==(a=this.Ga)?void 0:a.length)?c:null==(b=this.j)?void 0:b.H())?d:0}Yb(){return this.j instanceof olympe.dc.db.ec?this.j:Array.isArray(this.Ga)?(this.j=(new olympe.dc.transaction.dj(this.D)).j(this.Ga,
|
|
632
632
|
this.id),this.Ga=null,this.j):new olympe.dc.db.ec(this.id)}pl(){if(Array.isArray(this.Ga))return this.Ga;if(this.j instanceof olympe.dc.db.ec){const a=new olympe.dc.transaction.Je;this.j.rc(a);return Zf(a)}return[]}fa(){return{p:this.pl(),t:this.il,s:this.D,i:this.id}}};olympe.dc.Ig.ya=[olympe.dc.xr];olympe.dc.Ra={};const $f=olympe.dc.va.ORIGIN,ag=olympe.dc.va.DESTINATION,bg=new Map,cg=new Map,dg=new Map,eg=new Map;function Sf(a){let b;return null!=(b=bg.get(a))?b:null}function fg(a,b,c){let d=a;'function'===typeof a&&(d=c.entry);a=[...(d.mo||[])];return olympe.dc.oa.j(b,c,...a)}function gg(a,b){eg.set(a,b);return a}function hg(a){let b,c;return null!=(c=null==(b=bg.get(a))?void 0:b.D)?c:olympe.dc.CloudObject}
|
|
633
633
|
function ig(a,b,c){const d=a+'@'+(b===ag?$f:ag);if(cg.has(d))throw Error(`Try to register the same relation (${b+a}) multiple times.`);cg.set(d,c)}function jg(a){a=a.W()+'@'+a.La();return cg.get(a)||olympe.dc.CloudObject}function Q(a,b){b.NAME=a;dg.set(a,b)}function R(a){let b;return null!=(b=a.NAME)?b:null}
|
|
634
|
-
olympe.dc.oa=class{constructor(){}static j(a,b,...c){if(bg.has(a))throw Error(`Tag: ${a} - overwriting already defined CloudObject class ${bg.get(a).D.name} with ${b.name}`);let d=null;const e=c.length;if(0<e){d=Array(e);for(let f=0;f<e;f++){let g=c[f];d[f]='string'===typeof g?new olympe.V.rb(g):g}}b=new olympe.dc.Ra.Entry(a,b,d);bg.set(a,b);return b.D.entry=b}static Xb(a){let b,c;return null!=(c=null==(b=a.entry)?void 0:b.W())?c:null}};function kg(a,b){a.j=b}function S(a,b){b=b
|
|
634
|
+
olympe.dc.oa=class{constructor(){}static j(a,b,...c){if(bg.has(a))throw Error(`Tag: ${a} - overwriting already defined CloudObject class ${bg.get(a).D.name} with ${b.name}`);let d=null;const e=c.length;if(0<e){d=Array(e);for(let f=0;f<e;f++){let g=c[f];d[f]='string'===typeof g?new olympe.V.rb(g):g}}b=new olympe.dc.Ra.Entry(a,b,d);bg.set(a,b);return b.D.entry=b}static Xb(a){let b,c;return null!=(c=null==(b=a.entry)?void 0:b.W())?c:null}};function kg(a,b){a.j=b}function S(a,b){b=b.ac();ig(b.W(),b.La(),a.D);return b}function lg(a){a.F=!0;return a}
|
|
635
635
|
olympe.dc.Ra.Entry=class{constructor(a,b,c){this.tag=a;this.D=b;this.mo=c||null;this.j=null;this.F=!1}W(){return this.tag}instantiate(a,b){const c=this.D;if(this.Yn()&&b.getParameter(olympe.dc.Config.zp)){var d=olympe.dc.ga();d=`Trying to instantiate an abstract class ${d.name(this)} (${this.W()}).`+` This may happen when the implementation of another class extending ${d.name(this)} has not been registered`;olympe.ha.Wa('dc').error(d)}return this.mo?(a=[void 0,a].concat(Oa(b,this.mo)),new c(...a)):
|
|
636
|
-
new c(void 0,a)}ja(a){return new olympe.dc.Ra.Property(a)}ta(a,b=olympe.dc.va.DESTINATION){ig(a,b,this.D);return new olympe.dc.aa.af(a,b)}Yn(){return this.F}};w('olympe.dc.registry.Entry',olympe.dc.Ra.Entry);olympe.dc.Ra.Entry.prototype.addRelation=olympe.dc.Ra.Entry.prototype.ta;olympe.dc.Ra.Entry.prototype.addProperty=olympe.dc.Ra.Entry.prototype.ja;olympe.dc.Ra.Entry.ya=[olympe.dc.Ze];olympe.dc.Ra.Property=class{constructor(a){this.tag=a}W(){return this.tag}toString(){return`Property: ${this.tag}`}};olympe.dc.Ra.Property.prototype.getTag=olympe.dc.Ra.Property.prototype.W;olympe.dc.Ra.Property.ya=[olympe.dc.Ze];olympe.dc.Ra.Relation=class{constructor(a,b=olympe.dc.va.DESTINATION,c=olympe.dc.CloudObject,d=olympe.dc.CloudObject){this.tag=olympe.dc.ea(a);this.direction=b;this.origin=c;this.H=d}W(){return this.tag}La(){return this.direction}type(){return this.H}
|
|
637
|
-
olympe.dc.Ra.Relation.prototype.getInverse=olympe.dc.Ra.Relation.prototype
|
|
636
|
+
new c(void 0,a)}ja(a){return new olympe.dc.Ra.Property(a)}ta(a,b=olympe.dc.va.DESTINATION){ig(a,b,this.D);return new olympe.dc.aa.af(a,b)}Yn(){return this.F}};w('olympe.dc.registry.Entry',olympe.dc.Ra.Entry);olympe.dc.Ra.Entry.prototype.addRelation=olympe.dc.Ra.Entry.prototype.ta;olympe.dc.Ra.Entry.prototype.addProperty=olympe.dc.Ra.Entry.prototype.ja;olympe.dc.Ra.Entry.ya=[olympe.dc.Ze];olympe.dc.Ra.Property=class{constructor(a){this.tag=a}W(){return this.tag}toString(){return`Property: ${this.tag}`}};olympe.dc.Ra.Property.prototype.getTag=olympe.dc.Ra.Property.prototype.W;olympe.dc.Ra.Property.ya=[olympe.dc.Ze];olympe.dc.Ra.Relation=class{constructor(a,b=olympe.dc.va.DESTINATION,c=olympe.dc.CloudObject,d=olympe.dc.CloudObject){this.tag=olympe.dc.ea(a);this.direction=b;this.origin=c;this.H=d}W(){return this.tag}La(){return this.direction}type(){return this.H}ac(){return new olympe.dc.Ra.Relation(this.tag,this.direction===olympe.dc.va.DESTINATION?olympe.dc.va.ORIGIN:olympe.dc.va.DESTINATION,this.H,this.origin)}Fa(a){return a instanceof olympe.dc.Ra.Relation?a.W()===this.W()&&a.La()===this.La():!1}toString(){return`${this.direction}${olympe.dc.ga().name(this.tag)} (${this.tag})`}};
|
|
637
|
+
olympe.dc.Ra.Relation.prototype.getInverse=olympe.dc.Ra.Relation.prototype.ac;olympe.dc.Ra.Relation.prototype.getDirection=olympe.dc.Ra.Relation.prototype.La;olympe.dc.Ra.Relation.prototype.getTag=olympe.dc.Ra.Relation.prototype.W;olympe.dc.Ra.Relation.ya=[olympe.dc.Ze];olympe.dc.db={};function mg(a,b){const c=a.H,d=olympe.dc.ga(),e=olympe.dc.db.Database.D.fj,f=olympe.dc.db.Database.D.Ye,g=olympe.dc.db.Database.D.ORIGIN,h=olympe.dc.db.Database.D.DESTINATION,k=new olympe.dc.db.ec('rev-'+b.T());a.G.debug('Generate the reverse graphLayer of',b.T());b.Cb.forEach((l,n)=>{if(l.D()){k.D(n,olympe.dc.Lb.NONE);for(const [r,t]of l.Ld())k.hc(r,n,t)}else{var p=c.get(n);if(void 0!==p)if(l.Bd())for(const r of ng(d,n,l.F())){l=c.get(r);const t=new Map;l.forEach((v,x)=>{const y=x[0],z=x.substring(1);
|
|
638
638
|
y===e?t.set(z,v):y===f?t.set(x,v):y===g?v.forEach((A,K)=>{k.Oa(z,K,r)}):y===h&&v.forEach((A,K)=>{k.Oa(z,r,K)})});l=l.source();k.Uc(r,l,t)}else{const r=new Map;for(const t of l.Ab().keys()){var q=t[0]===f;const v=q?t.substring(1):t;q=q?og(p,v,!0):p.Pa(v,!0);let x;r.set(t,null!=(x=q)?x:null)}0<r.size&&k.$c(n,r);for(const [t,v,x]of l.Ld())x?k.hc(t,n,v):k.Oa(t,n,v)}}});return k}
|
|
639
639
|
function pg(a,b,c){const d=b.T();if(a.F.has(d))throw Error(`You try to execute the patch ${d} a second times whereas the first execution has not been validated yet.`);const e=new qg(b,mg(a,b));a.D.unshift(d);a.F.set(d,e);a.H.wl(c);a.write(b,!1,!1)}
|
|
640
640
|
function rg(a,b,c){if(0>=a.N||null===c)return b;var d=a.j.findIndex(h=>h.T()===b.T()),e=a.j[d];-1<d&&a.j.splice(d,1);d=0<a.j.length?a.j.findIndex(h=>c>=h.D):0;d=-1<d?d:a.j.length;const f=a.j.slice(0,d).reduce((h,k)=>k.od(h),b);let g;e=null!=(g=null==e?void 0:e.update(f,c))?g:new sg(f,c,a.j,a.N);a.j.splice(d,0,e);a.G.F()&&a.G.debug('CommitController buffer:\n',a.j.map(h=>`${h.T()} at ${h.D}`).join('\n'));return f}
|
|
641
641
|
function tg(a,b,c){return a.D.slice(0,c).map(d=>a.F.get(d)).reduce((d,e)=>{let f;return null!=(f=null==e?void 0:e.od(d))?f:d},b)}function ug(a,b,c,d=!1){return u(function*(){const e=new olympe.dc.db.rn(a.G,a.H,a.ga,c);e.open(d);for(const f=ha(b);;){const g=yield f.next();if(g.done)break;e.write(g.value,a.R)}e.close()})}
|
|
642
|
-
function vg(a,b,c,d){b=b.pipeThrough(olympe.U.stream.tap(e=>{0<a.D.length&&rg(a,tg(a,e.
|
|
643
|
-
olympe.dc.db.ku=class{constructor(a,b,c,d){this.G=a;this.H=b;this.ga=c;let e;this.R=null!=(e=d.get('debug'))?e:!1;let f;this.N=null!=(f=d.get('bufferTimeout'))?f:0;this.D=[];this.F=new Map;this.j=[];b.addEventListener(olympe.dc.db.Database.j.Pp,g=>{this.j.forEach(h=>{for(const k of g)h.j.j(k)})})}od(a,b,c){const d=a.T(),e=a.il;this.F.has(d)?this.push(d,e):(a=rg(this,tg(this,a.
|
|
642
|
+
function vg(a,b,c,d){b=b.pipeThrough(olympe.U.stream.tap(e=>{0<a.D.length&&rg(a,tg(a,e.Yb(),a.D.length),e.il)}));return ug(a,b,c,d).then(()=>a.G.debug('Rebase stream completed')).catch(e=>a.G.error('Rebase stream failed:',e))}
|
|
643
|
+
olympe.dc.db.ku=class{constructor(a,b,c,d){this.G=a;this.H=b;this.ga=c;let e;this.R=null!=(e=d.get('debug'))?e:!1;let f;this.N=null!=(f=d.get('bufferTimeout'))?f:0;this.D=[];this.F=new Map;this.j=[];b.addEventListener(olympe.dc.db.Database.j.Pp,g=>{this.j.forEach(h=>{for(const k of g)h.j.j(k)})})}od(a,b,c){const d=a.T(),e=a.il;this.F.has(d)?this.push(d,e):(a=rg(this,tg(this,a.Yb(),this.D.length),e),this.write(a,b,c))}push(a,b){const c=this.D.indexOf(a);if(-1<c){const d=this.F.get(a);this.D.splice(c,
|
|
644
644
|
1);rg(this,tg(this,d.D,c),b);this.F.delete(a)}}write(a,b,c=!1){b=new olympe.dc.db.rn(this.G,this.H,this.ga,b);b.open(c);b.write(a,this.R);b.close()}};class wg{T(){}od(){}}function xg(a,b,c,d){const e=olympe.dc.va.DESTINATION;c=c.tag();const f=a.j.Wc(c);b.Ab().forEach((g,h)=>{f.ja(h,g);b.Z(h)});for(const [g,h,k,l]of b.ba()){if(!l)continue;const n=h===e?c:k,p=h===e?k:c;a.j.Oa(g,n,p);d.N(g,n,p)}}
|
|
645
645
|
function yg(a,b,c,d){const e=olympe.dc.va.DESTINATION,f=c.tag(),g=a.j.Wc(f);b.Ab().forEach((h,k)=>{void 0!==c.Pa(k)&&(g.ja(k,h),b.Z(k))});for(const [h,k,l]of b.Ld()){const n=c.lb(h,e,k);void 0!==n&&(d.N(h,f,k),n===l&&a.j.N(h,f,k))}}
|
|
646
646
|
class qg extends wg{constructor(a,b){super();this.D=a;this.j=b;this.db=olympe.dc.ga()}T(){return this.D.T()}od(a){for(const [b,c]of this.D.ba(a)){const d=b.tag();c.Bd()?b.D()?a.j(d,b.F()):(this.D.j(d,c.F()),this.j.j(d,c.F())):b.Bd()?(xg(this,c,b,a),a.j(d,b.F())):yg(this,c,b,a)}return a}}function zg(a){clearTimeout(a.F);a.F=setTimeout(()=>{a.buffer.splice(a.buffer.indexOf(a),1)},a.H)}
|
|
@@ -665,7 +665,7 @@ function wh(a,b,c){if(!a.Ja(b))return a.G.warn(`No instance found with tag ${b}`
|
|
|
665
665
|
olympe.dc.kb=class{constructor(a,b){this.G=a;this.j=b}T(){return this.j.T()}D(a,b,c,d=!1){a=T(this,a);if(null!==a){b=b.La()+b.W();const e=eh(a,b,c);void 0!==e&&(this.j.getState()!==ch.vf||a.F()&&!d||this.j.R(c),d||!a.Ja()&&!a.F()||mh(a,b,!1,e,!1))}}Ja(a){a=this.j.get(olympe.dc.ea(a));return!(null==a||!a.Ja())}name(a){let b,c;return null!=(c=null==(b=T(this,a))?void 0:b.Pa(olympe.dc.CloudObject.nameProp.W()))?c:''}model(a){return(a=(a=T(this,a,!0))?a.model():null)?a.tag():null}gf(a){return(a=(a=T(this,
|
|
666
666
|
a,!0))&&a.gf())?a.tag():null}xi(a){a=T(this,a,!0);return!(!a||!a.gf())}Nb(a,b){a=(a=T(this,a,!0))&&a.model();return!(!a||!this.Xf(a.tag(),b))}source(a){return(a=T(this,a,!0))&&a.source()}Se(a){a=T(this,a,!1);return!a||a.N}Pa(a,b,c){a=T(this,a,!0);b=olympe.dc.ea(b);let d;return null!=(d=null==a?void 0:a.Pa(b,c))?d:null}Ab(a,b=!1){var c=T(this,a,!0);a=new Map;if(c)for(const [d,e]of c)c=d[0],(c===Xg||!b&&c===Zg)&&a.set(d.substring(1),e);return a}ol(a,b){return qh(this,a,b).filter(([c])=>c.Ja()).map(([c,
|
|
667
667
|
...d])=>[c.tag(),...d])}cb(a,b){a=T(this,a,!0);b=b.La()+b.W();b=null==a?void 0:a.get(b);a=[];if(b)for(const c of b.values())c.Ja()&&a.push(c.tag());return a}rt(a,b,c){let d,e;a=null==(d=T(this,a,!0))?void 0:null==(e=d.get(b.La()+b.W()))?void 0:e.get(olympe.dc.ea(c));return!(null==a||!a.Ja())}Tn(a,b){a=T(this,a,!0);if(!a)return[];a=[a.tag()];for(const c of b){b=[];for(const d of a)if(a=T(this,d,!0).get(c.La()+c.W()),void 0!==a)for(const e of a.values())e.Ja()&&b.push(e.tag());a=b}return a}Ib(a,b){var c=
|
|
668
|
-
T(this,a,!0);const d=b.La()+b.W();c=null==c?void 0:c.get(d);if(1<(null==c?void 0:c.size))return this.G.warn(`Relation ${b.W()} to instance ${a} is not unique: found ${c.size} related items`),null;a=null==c?void 0:c.values().next().value;return(null==a?0:a.Ja())?a.tag():null}qh(a,b,c){a=olympe.dc.ea(a);const d=wh(this,a,b);d.delete(a);return c?(c=olympe.dc.ea(c),d.has(c)?Array.from(wh(this,c,b
|
|
668
|
+
T(this,a,!0);const d=b.La()+b.W();c=null==c?void 0:c.get(d);if(1<(null==c?void 0:c.size))return this.G.warn(`Relation ${b.W()} to instance ${a} is not unique: found ${c.size} related items`),null;a=null==c?void 0:c.values().next().value;return(null==a?0:a.Ja())?a.tag():null}qh(a,b,c){a=olympe.dc.ea(a);const d=wh(this,a,b);d.delete(a);return c?(c=olympe.dc.ea(c),d.has(c)?Array.from(wh(this,c,b.ac()).keys()).filter(e=>d.has(e)):[]):Array.from(d.keys())}Vs(a,b,c){if(!this.Ja(a))return null;b=wh(this,
|
|
669
669
|
a,b);const d=[olympe.dc.ea(a)];for(const e of d){if(c(e))return e;if(a=b.get(e))for(const f of a.filter(g=>!d.includes(g)))d.push(f)}return null}Ln(a,b,c){return this.Tn(a,b).find(c)||null}gy(a,b,c){return this.Tn(a,b).filter(c)}at(a,b=olympe.dc.CloudObject){var c=T(this,a,!0);const d=b&&T(this,b,!0),e=[c];for(;c&&c!==d;){c=c.gf();if(e.includes(c))throw Error(`Cycle detected when following recursively extend relations from base model instance "${a}".`);if(c&&!c.Ja())throw a=`Try to get all extensions of the model ${olympe.dc.ea(a)} but one of them does not exists (${c.tag()})`,
|
|
670
670
|
Error(a);null!==c&&e.push(c)}c=T(this,olympe.dc.CloudObject,!0);if(d!==c&&e[e.length-1]===c)throw Error(`The model "${this.name(a)}" (tag = ${a}) does not extend the expected model "${this.name(b)}" (tag = ${b}).`);return e.map(f=>f.tag())}Xf(a,b){const c=olympe.dc.ea(b);return!!this.Vs(a,olympe.dc.CloudObject.extendRel,d=>d===c)}Xc(a){return this.cb(a,olympe.dc.CloudObject.instancesRel)}};olympe.dc.kb.prototype.getInstances=olympe.dc.kb.prototype.Xc;olympe.dc.kb.prototype.isExtending=olympe.dc.kb.prototype.Xf;
|
|
671
671
|
olympe.dc.kb.prototype.getExtendedModels=olympe.dc.kb.prototype.at;olympe.dc.kb.prototype.findAllRelated=olympe.dc.kb.prototype.gy;olympe.dc.kb.prototype.findRelated=olympe.dc.kb.prototype.Ln;olympe.dc.kb.prototype.findRecursive=olympe.dc.kb.prototype.Vs;olympe.dc.kb.prototype.getRecursiveRelated=olympe.dc.kb.prototype.qh;olympe.dc.kb.prototype.getUniqueRelated=olympe.dc.kb.prototype.Ib;olympe.dc.kb.prototype.getMultiRelated=olympe.dc.kb.prototype.Tn;olympe.dc.kb.prototype.isRelated=olympe.dc.kb.prototype.rt;
|
|
@@ -747,7 +747,7 @@ a;let d;return Ei(olympe.dc.query.sl(),Bi(this),a,olympe.dc.Ia.SELF,c,{li:null!=
|
|
|
747
747
|
r:Array.from(this.F),s:this.source,e:{m:this.j.max,o:this.j.offset,s:this.j.Od,rm:null!=(a=this.j.Ue)?a:this.db.model(this.D)}}}toString(){return`Query: ${JSON.stringify(this)}`}toJSON(){return{origin:this.db.Ja(this.D)?olympe.dc.CloudObject.get(this.D):this.D,relations:this.na.map(a=>a.toJSON())}}};olympe.dc.la.prototype.observe=olympe.dc.la.prototype.observe;olympe.dc.la.prototype.executeFromCache=olympe.dc.la.prototype.Dc;olympe.dc.la.prototype.execute=olympe.dc.la.prototype.mb;
|
|
748
748
|
olympe.dc.la.prototype.parse=olympe.dc.la.prototype.parse;olympe.dc.la.prototype.back=olympe.dc.la.prototype.back;olympe.dc.la.prototype.sortBy=olympe.dc.la.prototype.Il;olympe.dc.la.prototype.limit=olympe.dc.la.prototype.Ij;olympe.dc.la.prototype.cast=olympe.dc.la.prototype.tj;olympe.dc.la.prototype.filter=olympe.dc.la.prototype.filter;olympe.dc.la.prototype.andReturn=olympe.dc.la.prototype.oe;olympe.dc.la.prototype.followRecursively=olympe.dc.la.prototype.vg;olympe.dc.la.prototype.follow=olympe.dc.la.prototype.bb;
|
|
749
749
|
olympe.dc.la.followRule=olympe.dc.la.Pb;olympe.dc.la.instancesOf=olympe.dc.la.xl;olympe.dc.la.fromTag=olympe.dc.la.re;olympe.dc.la.from=olympe.dc.la.from;olympe.dc.la.oc={xf:1,Gk:2,Sg:3};olympe.dc.la.j={Yl:'cacheBucketName',uq:'isCacheable'};function Fi(a){null===a.Ga&&null===a.j&&(a.Ga=Zf(a.F))}
|
|
750
|
-
olympe.dc.query.Id=class extends olympe.dc.Ig{constructor(a){super(a,null);this.F=new olympe.dc.transaction.Je}static yj(a){const b=new olympe.dc.query.Id(`DataResult_${a.T()}`);b.D=a.jb();return b}static j(a){const b=new olympe.dc.query.Id(a.i);let c;b.D=null!=(c=a.s)?c:null;let d;b.il=null!=(d=a.t)?d:null;let e;b.Ga=null!=(e=a.p)?e:[];return b}rc(a){Fi(this);return super.rc(a)}
|
|
750
|
+
olympe.dc.query.Id=class extends olympe.dc.Ig{constructor(a){super(a,null);this.F=new olympe.dc.transaction.Je}static yj(a){const b=new olympe.dc.query.Id(`DataResult_${a.T()}`);b.D=a.jb();return b}static j(a){const b=new olympe.dc.query.Id(a.i);let c;b.D=null!=(c=a.s)?c:null;let d;b.il=null!=(d=a.t)?d:null;let e;b.Ga=null!=(e=a.p)?e:[];return b}rc(a){Fi(this);return super.rc(a)}Yb(){Fi(this);return super.Yb()}pl(){Fi(this);return super.pl()}create(a,b,c){this.F.Uc(a,this.D,c,b);return this}Oa(a,
|
|
751
751
|
b,c){this.F.Oa(a,b,c,null,null);return this}fa(){return super.fa()}};olympe.dc.query.Id.prototype.createRelation=olympe.dc.query.Id.prototype.Oa;olympe.dc.query.Id.prototype.create=olympe.dc.query.Id.prototype.create;olympe.dc.query.Id.fromQuery=olympe.dc.query.Id.yj;function Di(a,b){const c=new olympe.dc.query.vr(a.G,b);if(a.D.view.Ja(b.D)){ri(c,b.D);for(const d of li(b))d.mb(c)}return c}
|
|
752
752
|
function Ei(a,b,c,d,e,f){const g=b.T();let h=a.j.get(g);if(!h){var k=b.jb();a.G.debug(`Create new subscription for query ${g} for subscriber ${d}, to be executed by the data source ${k}`);k=!1===f.Cc||a.H&&k===olympe.dc.Ia.SERVER?[]:Array.from(a.j.values());h=new olympe.dc.query.Dr(a.G,a.D,b,e,a.R.bind(a,e,f));a.j.set(g,h);Gi(h,l=>a.F.add(l));h.start(k)&&(null==f?0:f.li)&&Hi(a,b,e,f).catch(l=>{a.G.error(`Was not able to get the result of the subscribed query ${g} to add it to the cache: ${l}`)})}return new rxjs.Observable(l=>
|
|
753
753
|
{const n=()=>{p&&c.wt(p);l.complete();if(q){var r=q;const v=a.j.get(g);a.G.debug(`${d} unsubscribed from ${g}`);if(null==v)r=0;else{var t=v;t.H.delete(r)&&t.G.debug(`Remove subscriber ${d} for query ${t.query.T()}, now have ${t.H.size} subscribers`);d!==olympe.dc.Ia.SELF&&(t.Z--,0===t.Z&&ui(t.j));r=0===t.H.size}r&&(a.G.debug(`No more subscriber to ${g}, remove the subscription`),a.F.delete(g),a.j.delete(g),v.destroy())}},p=c.Yd(n),q=Ii(h,d,l);return n})}
|
|
@@ -778,7 +778,7 @@ function $i(a,b){return a.F.has(Ti+b)||a.F.has(Si+b)}
|
|
|
778
778
|
class Zi{constructor(a,b,c,d){this.G=a;this.db=b;this.H=d;this.R=[];this.N=-1<c.j.max||0<c.j.offset;this.F=new Map;this.j=!1;const e=new Map;for(const f of li(c)){a=f.T();this.R.push(a);if(f instanceof olympe.dc.query.na.Zh){a=f.relation;a=`${a.La()}${a.W()}`;let g;b=null!=(g=this.F.get(a))?g:[];b.push(f);this.F.set(a,b)}aj(f).forEach(g=>{let h;const k=null!=(h=e.get(g))?h:[];k.push(f.T());e.set(g,k)})}this.properties=Array.from(e.entries())}flush(){const a=this.j;this.j=!1;return a}Uc(){}$c(a,b){if(!(this.j||
|
|
779
779
|
!this.N&&this.db.Ja(a))){var c;this.j||(this.j=null==(c=this.properties)?void 0:c.some(([d,e])=>b.has(d)&&qi(this.H,a,e)))}}D(a){this.j||this.db.Ja(a)&&!this.N||this.j||(this.j=this.R.some(b=>qi(this.H,a,b)))}Oa(a,b,c){if(!this.j&&$i(this,a)){var d=this.db.Ja(b),e=this.db.Ja(c);if(d&&!e||!d&&e){const f=this.F.get(Ti+a);a=this.F.get(Si+a);this.j||(this.j=d&&(null==f?void 0:f.some(g=>qi(this.H,b,g.j)))||e&&(null==a?void 0:a.some(g=>qi(this.H,c,g.j))))}}}hc(a,b,c){if(!this.j&&this.N&&$i(this,a)&&this.db.rt(b,
|
|
780
780
|
new olympe.dc.Ra.Relation(a),c)){const d=this.F.get(Ti+a);a=this.F.get(Si+a);const e=this.H;this.j||(this.j=(null==d?void 0:d.some(f=>qi(e,b,f.j)&&qi(e,c,f.T())))||(null==a?void 0:a.some(f=>qi(e,c,f.j)&&qi(e,b,f.T()))))}}}olympe.dc.query.Dr.ya=[olympe.dc.Writable];function bj(a){return new olympe.dc.query.Relation(a.tag,a.direction,!0)}
|
|
781
|
-
olympe.dc.query.Relation=class extends olympe.dc.Ra.Relation{constructor(a,b,c){super(a,b);this.recursive=c}toJSON(){let a='{ "tag": '+JSON.stringify(this.W())+', ';a+='"direction": '+JSON.stringify(this.La())+', ';a+='"recursive": '+JSON.stringify(this.recursive);return a+'}'}static Qb(a){let b;'string'===typeof a?b=JSON.parse(a):b=a;return new olympe.dc.query.Relation(b.tag,b.direction,b.recursive)}static from(a,b){return new olympe.dc.query.Relation(a.W(),a.La(),null!=b?b:a instanceof olympe.dc.aa.Me)}
|
|
781
|
+
olympe.dc.query.Relation=class extends olympe.dc.Ra.Relation{constructor(a,b,c){super(a,b);this.recursive=c}toJSON(){let a='{ "tag": '+JSON.stringify(this.W())+', ';a+='"direction": '+JSON.stringify(this.La())+', ';a+='"recursive": '+JSON.stringify(this.recursive);return a+'}'}static Qb(a){let b;'string'===typeof a?b=JSON.parse(a):b=a;return new olympe.dc.query.Relation(b.tag,b.direction,b.recursive)}static from(a,b){return new olympe.dc.query.Relation(a.W(),a.La(),null!=b?b:a instanceof olympe.dc.aa.Me)}ac(){const a=
|
|
782
782
|
olympe.dc.va.DESTINATION,b=olympe.dc.va.ORIGIN;return new olympe.dc.query.Relation(this.tag,this.direction===a?b:a,this.recursive)}T(){return`${this.direction}${this.tag}${this.recursive?'-r':''}`}};olympe.dc.query.P={Ca:'dc.query.Logger',Jk:'dc.query.QueryProcessor'};olympe.V.config(function(a){D(a,olympe.dc.query.P.Ca,[olympe.ha.P.Ea],b=>b.dd('query'));C(a,olympe.dc.query.P.Jk,olympe.dc.query.nw,olympe.dc.query.P.Ca,olympe.dc.db.P.Ea,olympe.dc.transaction.P.Ea,olympe.dc.P.Wg,new olympe.V.ma(olympe.dc.Config.ai))});olympe.V.run([olympe.dc.query.P.Jk],a=>{olympe.dc.query.sl=()=>a});olympe.dc.query.Hd=class extends Error{};olympe.dc.query.Y={};olympe.dc.query.Y.Pd=class extends olympe.dc.query.za{constructor(...a){super();this.Y=a}compile(){return this.Y.reduce((a,b)=>{const c=[];for(const d of b.compile()){for(const e of a)d.push(...e);c.push(d)}return c},[])}Cd(){return new olympe.dc.query.Y.He(...this.Y.map(a=>a.Cd()))}Ab(){return this.Y.flatMap(a=>a.Ab())}Jc(){throw Error('Should not try to check predicate coverage on And (should be removed by compiling predicates');}mb(a){return this.Y.reduce((b,c)=>b&&c.mb(a),!0)}observe(a,b,c){const d=
|
|
783
783
|
Array(this.Y.length).fill(!1);let e=null;const f=(g,h)=>{d[g]=h;g=d.every(k=>k);e!==g&&(e=g,c(g))};this.Y.forEach((g,h)=>{g.observe(a,olympe.U.sb('AND-'+b+a+h),f.bind(null,h))})}fa(){return{pr:olympe.dc.query.za.j.qo,p:this.Y.map(a=>a.fa())}}Pc(){throw Error('toObject for AND predicate should not be called');}toString(){return'And-'+this.Y.reduce((a,b)=>a+'-'+b.toString(),'')}clear(a,b){this.Y.forEach((c,d)=>{c.clear(a,olympe.U.sb('AND-'+b+a+d))})}};olympe.dc.query.Y.zf=class extends olympe.dc.query.za{constructor(a,b,c,d=!1){super();this.Da=olympe.dc.ea(a);this.substring=b;this.db=c;this.j=d}Ab(){return[this.Da]}Jc(a,b){return a instanceof olympe.dc.query.Y.zf&&a.Da===this.Da?b?a.j?a.substring.toLowerCase().includes(this.substring.toLowerCase()):a.substring.includes(this.substring):this.j?this.substring.toLowerCase().includes(a.substring.toLowerCase()):this.substring.includes(a.substring):!1}Pa(){return this.Da}mb(a){return this.apply(this.db.Pa(a,
|
|
784
784
|
this.Da))}observe(a,b,c){ih(this.db,a,this.Da,d=>{c(this.apply(d))},olympe.U.sb(b+a+this.toString()))}apply(a){a=olympe.dc.ib.uc(a);return'string'===typeof a?this.j?a.includes(this.substring):a.toLowerCase().includes(this.substring.toLowerCase()):!1}toString(){return'Contains'+this.Da+'-'+this.substring+'-'+this.j}clear(a,b){jh(this.db,a,this.Da,olympe.U.sb(b+a+this.toString()))}Pc(){return{name:'CONTAINS',property:this.Pa(),value:this.substring,caseSensitive:this.j}}fa(){return{pr:olympe.dc.query.za.j.$j,
|
|
@@ -817,48 +817,48 @@ function wj(a,b,c){c=b instanceof olympe.dm.DataSource?b.Sf(c):xj(b,c);null===c&
|
|
|
817
817
|
function yj(a,b,c){if(b===olympe.dc.Ia.SERVER){var d;return null!=(d=re(a.H,a.ba.get(c)))?d:null}var e=a.N.get(b);if(!e){d=a.Z.jb(b);e=olympe.dc.sources.Config.Mh;const f=olympe.dc.sources.Config.Cf,g=olympe.dc.sources.Config.Ri,h=olympe.dc.sources.Config.xm;let k;e=`${wj(a,null!=d?d:b,g)?'https':'http'}://${wj(a,null!=d?d:b,e)}:${null!=(k=wj(a,null!=d?d:b,f))?k:wj(a,null!=d?d:b,g)?443:80}`+`/${wj(a,null!=d?d:b,h)}/${b}`.replace(/\/+/g,'/').replace(/\/$/,'');a.N.set(b,e)}return`${e}/${c}`}
|
|
818
818
|
function zj(a,b){return b instanceof olympe.net.Ti?te(a.H,b,de(a.X).zd()):Promise.reject('No http request to send')}function Aj(a,b){var c=yj(a,b.ic(),b.getType());if(!c)return Promise.reject(`No destination URL to send the query to destination: ${b.ic()}`);const d=b.content,e=JSON.stringify(a.D.fa(d));c=N(c,ij,e,olympe.net.ra.ResponseType.JSON);O(c,{['X-Source-Origin']:b.origin,[lj]:'application/json'});return zj(a,c).then(f=>(f=f.getData())?a.D.N(f):olympe.dc.query.Id.yj(d))}
|
|
819
819
|
function Bj(a,b){var c=yj(a,b.ic(),b.getType());if(!c)return Promise.reject(`No destination URL to send the transaction to destination: ${b.ic()}`);const d=JSON.stringify(a.D.fa(b.content));c=N(c,ij,d);O(c,{['X-Source-Origin']:b.origin,[lj]:'application/json'});return zj(a,c).then(e=>Number.parseInt(e.getData(),10))}function tj(a,b){return'string'!==typeof b?Promise.reject('Please provide an authorization token.'):new Promise((c,d)=>{a.X.th(b,(e,f)=>{e?d(e):c(f)})})}
|
|
820
|
-
olympe.dc.sources.Ku=class{constructor(a,b,c,d,e,f){this.G=a;this.R=b;this.H=c;this.X=d;this.Z=e;this.D=f;this.F=new Map;new olympe.C.
|
|
820
|
+
olympe.dc.sources.Ku=class{constructor(a,b,c,d,e,f){this.G=a;this.R=b;this.H=c;this.X=d;this.Z=e;this.D=f;this.F=new Map;new olympe.C.Zb('Http service of remote data provider');this.N=new Map;this.j=new Map;this.ba=new Map([[olympe.dc.Request.j.Kg,olympe.L.Ob.Kg],[olympe.dc.Request.j.gg,olympe.L.Ob.kk],[olympe.dc.Request.j.qg,olympe.L.Ob.kk],[olympe.dc.Request.j.eg,olympe.L.Ob.kk],[olympe.dc.Request.j.Eo,olympe.L.Ob.Do],[olympe.dc.Request.j.Jr,olympe.L.Ob.Ir],[olympe.dc.Request.j.Yp,olympe.L.Ob.Xp],
|
|
821
821
|
[olympe.dc.Request.j.Ug,olympe.L.Ob.Ro],[olympe.dc.Request.j.fh,olympe.L.Ob.TRANSACTION]])}Lc(a){var b=yj(this,a.ic(),a.getType());if(!b)return Promise.reject(`No destination URL to send the status request to destination: ${a.ic()}`);b=Gc(N(b,hj),olympe.net.ra.ResponseType.JSON);O(b,{['X-Source-Origin']:a.origin});return zj(this,b).then(c=>c.getData())}uploadFileContent(a){const {tag:b,model:c,content:d}=a.content,e=a.ic(),f=yj(this,e,a.getType());if(!f)return Promise.reject(`No destination URL to upload the file. ${b}`);
|
|
822
822
|
const g=N(e===olympe.dc.Ia.SERVER?`${f}/${b}`:`${f}?tag=${b}&model=${c}`,kj,d);O(g,{[lj]:'application/octet-stream'});e!==olympe.dc.Ia.SERVER&&O(g,{['X-Source-Origin']:a.origin});return zj(this,g).then(()=>(new URL(g.j())).pathname)}deleteFileContent(a){const {tag:b,model:c}=a.content,d=a.ic();var e=yj(this,d,a.getType());if(!e)return Promise.reject(`No destination URL to delete the file. ${b}`);e=N(d===olympe.dc.Ia.SERVER?`${e}/${b}`:`${e}?tag=${b}&model=${c}`,jj,b);d!==olympe.dc.Ia.SERVER&&O(e,
|
|
823
823
|
{['X-Source-Origin']:a.origin});return zj(this,e).then(()=>{})}downloadFileContent(a){const {tag:b,model:c}=a.content,d=a.ic();var e=yj(this,d,a.getType());if(!e)return Promise.reject(Error(`No destination URL to download the file. ${b}`));var f;const g=null!=(f=this.j.get(b))?f:[];f=new Promise((h,k)=>{g.push({done:h,oi:k})});if(this.j.has(b))return f;this.j.set(b,g);e=N(d===olympe.dc.Ia.SERVER?`${e}/${b}`:`${e}?tag=${b}&model=${c}`,hj,void 0,olympe.net.ra.ResponseType.ci);d!==olympe.dc.Ia.SERVER&&
|
|
824
824
|
O(e,{['X-Source-Origin']:a.origin});zj(this,e).then(h=>{let k;null==(k=this.j.get(b))||k.forEach(l=>l.done(h.getData()))}).catch(h=>{let k;null==(k=this.j.get(b))||k.forEach(l=>l.oi(`${h}`))}).finally(()=>{this.j.delete(b)});return f}};olympe.dc.sources.tq=class{constructor(a,b){this.G=a;this.Jb=b}};olympe.dc.sources.tq.Ub={jj:0,eD:1,fD:3,zC:4};const Cj=olympe.dc.Request.j.pc,Dj=olympe.dc.Request.j.Ug,Ej=olympe.dc.Request.j.Kk,Fj=olympe.dc.Request.j.qg,Gj=olympe.dc.Request.j.gg,Hj=olympe.dc.Request.j.eg,Ij=olympe.dc.Request.j.Hi,Jj=olympe.dc.Request.j.Bh,Kj=olympe.dc.Request.j.ef,Lj=olympe.dc.Request.j.fh,Mj=olympe.dc.Request.j.ek;
|
|
825
825
|
function Nj(a,b){const c=b.T();null===a.D&&(a.D=new olympe.U.bi(6E4),hb(a.D,(f,g)=>{a.applyTransaction(g,!1).catch(h=>{a.G.error(`Error occurred when applying burst transaction ${f} to the data source: ${h}`)})}),ib(a.D,()=>{a.D=null}));let d;const e=null!=(d=a.D.get(c))?d:new olympe.dc.db.ec(c);b.rc(e);fb(a.D.j,c)||a.D.set(c,e)}function Oj(a,b){return u(function*(){const c=Tf(new olympe.dc.Request(olympe.dc.Request.j.ek,a.T(),b),olympe.dc.Ia.SELF);let d;yield null==(d=a.Jb)?void 0:d.zi(c)})}
|
|
826
826
|
function Pj(a,b){const c=b.T();let d,e;const f=null!=(e=null==(d=a.D)?void 0:d.get(c))?e:new olympe.dc.db.ec(c);let g;null==(g=a.D)||g.delete(c);b.rc(f);return a.applyTransaction(f,!1).catch(h=>{a.G.error(`Error occurred when applying burst transaction ${c} to the data source: ${h}`)})}function Qj(a,b){const c=rxjs.defer(()=>a.j.executeQuery(b));return 0<a.N?rxjs.interval(a.N).pipe(rxjs.operators.switchMap(()=>c)):c}
|
|
827
|
-
olympe.dc.sources.Iq=class{constructor(a,b){this.G=a;this.j=b;this.Jb=null;this.H=olympe.dc.query.sl();this.F=new olympe.C.
|
|
827
|
+
olympe.dc.sources.Iq=class{constructor(a,b){this.G=a;this.j=b;this.Jb=null;this.H=olympe.dc.query.sl();this.F=new olympe.C.Zb('Context of source '+this.T());let c;this.N=null!=(c=b.Sf(olympe.dc.sources.Config.Wm))?c:-1;this.D=null}T(){return this.j.T()}init(a){this.Jb=a;if(this.T()===olympe.dc.Ia.SELF)return this;(new Promise((b,c)=>{let d=!0;Rj(this.j,this.F).subscribe(rxjs.Subscriber.create(e=>{if(this.G.j()){this.G.debug(`Data source ${this.j.name()} has loaded ${e.size()} data types in its cache:`);
|
|
828
828
|
for(const [f,g]of e)this.G.debug(`=> DataType: ${g.name()} (${f})`)}d&&(d=!1,b())},c))})).then(()=>this.j.init(this.F)).catch(b=>{this.G.error(`Error while initialization of DataSource ${this.j.name()} (${this.T()}): ${b}`)});return this}healthCheck(){return this.j.healthCheck().then(()=>`Data source ${this.j.name()} (${this.j.T()}) OK`)}destroy(){this.F.destroy();return this.j.destroy()}request(a){const b=a.content;var c=a.getType();switch(c){case Cj:const d=olympe.dm.DataSource.pc.Bb,e=olympe.dm.DataSource.pc.Yh;
|
|
829
|
-
return this.j.healthCheck().then(()=>({s:e})).catch(h=>({s:d,r:String(h)}));case Dj:return this.j.executeQuery(b);case Ij:const f=b.
|
|
830
|
-
error:null}),this.T());let k;null==(k=this.Jb)||k.Oc(h)}});case Jj:return Pj(this,b.
|
|
829
|
+
return this.j.healthCheck().then(()=>({s:e})).catch(h=>({s:d,r:String(h)}));case Dj:return this.j.executeQuery(b);case Ij:const f=b.Yb();Nj(this,f);Oj(this,Pf(f)).catch(h=>{this.G.warn(`Error occurred when applying burst transaction ${f.T()} to the data source: ${h}`)});return Promise.resolve();case Kj:case Lj:const g=b.Yb();return this.applyTransaction(g,c===Lj).finally(()=>{if(a.origin===olympe.dc.Ia.SELF){var h=g.T();h=Tf(new olympe.dc.Request(olympe.dc.Request.j.lk,olympe.dc.Ia.SELF,{id:h,finalize:olympe.dc.transaction.Kf.j.$i,
|
|
830
|
+
error:null}),this.T());let k;null==(k=this.Jb)||k.Oc(h)}});case Jj:return Pj(this,b.Yb());case Fj:return b.content instanceof Uint8Array?this.j.uploadFileContent(b.tag,b.model,b.content).then(()=>`datasource://${b.tag}`):Promise.reject('File content is undefined');case Gj:return this.j.downloadFileContent(b.tag,b.model);case Hj:return this.j.deleteFileContent(b.tag,b.model);case Mj:return c=Tf(new olympe.dc.Request(Mj,olympe.dc.Ia.SELF,b,a.yc()),this.T()),this.Jb.Oc(c);default:return Promise.reject(`Request of type ${a.getType()} is not supported by the data source`)}}subscribe(a){if(a.getType()===
|
|
831
831
|
Ej){const b=a.content;a=a.origin;return a===olympe.dc.Ia.SELF?Qj(this,b):Ei(this.H,b,this.F,a,olympe.dc.la.oc.xf,{}).pipe(rxjs.operators.map(c=>{let d,e;return null!=(e=null==(d=c.Te)?void 0:d.F)?e:null}),rxjs.operators.filter(c=>null!==c),rxjs.operators.map(c=>Pf(c,Date.now())))}return rxjs.throwError(()=>Error('Subscription request not supported'))}applyTransaction(a,b){const c=this;return u(function*(){var d=Sj(a);yield c.j.applyTransaction(d,{batch:b});d=Date.now();yield Oi(c.H,c.T(),a);const e=
|
|
832
832
|
Pf(a,d);yield Oj(c,e);return d})}};olympe.dc.sources.Iq.ya=[olympe.dc.sources.hk];function Sj(a){const b=olympe.dc.sources.ng.j.hu,c=olympe.dc.sources.ng.j.ex,d=olympe.dc.sources.ng.j.nu,e=olympe.dc.sources.ng.j.iu,f=olympe.dc.sources.ng.j.ou,g=[],h=[],k=[],l=[],n=[];a.Cb.forEach((p,q)=>{const r=p.Wb();p.D()?g.push(Tj(b,q,r,p.N()?p.Ab():null)):p.Bd()?k.push(Tj(d,q,r,null,p.F())):p.N()&&h.push(Tj(c,q,r,p.Ab()));for(const [t,v,x]of p.Ld())p=a.Wc(v),x?l.push(new Uj(e,t,q,v,r,p.Wb())):n.push(new Uj(f,t,q,v,r,p.Wb()))});return n.concat(k,g,h,l)}
|
|
833
833
|
function Tj(a,b,c,d,e){if('string'!==typeof c)throw Error(`Patch: model of instance ${b} is missing. It is invalid transaction.`);return new Vj(a,b,c,d,e)}olympe.dc.sources.ng=class{constructor(a){this.type=a}};class Vj extends olympe.dc.sources.ng{constructor(a,b,c,d,e){super(a);this.object=b;this.model=c;this.properties=null!=d?d:null;this.deleteRules=null!=e?e:olympe.dc.Lb.NONE}}
|
|
834
834
|
class Uj extends olympe.dc.sources.ng{constructor(a,b,c,d,e,f){super(a);this.relation=b;this.from=c;this.to=d;this.fromModel=e;this.toModel=f}}olympe.dc.sources.ng.j={hu:'CREATE',ex:'UPDATE',nu:'DELETE',iu:'CREATE_RELATION',ou:'DELETE_RELATION'};function Wj(a,b){b=Tf(new olympe.dc.Request(olympe.dc.Request.j.lk,olympe.dc.Ia.SELF,{id:b,finalize:olympe.dc.transaction.Kf.j.$i,error:null}),a.T());let c;null==(c=a.Jb)||c.Oc(b)}
|
|
835
835
|
olympe.dc.sources.cm=class{constructor(a,b){this.G=a;this.D=b;this.Jb=null}T(){}X(){}Z(){}init(a){this.Jb=a;return this}destroy(){return Promise.resolve()}request(a){const b=this;return u(function*(){if(!b.D.j)return b.X(a);var c=olympe.dc.Request.j.pc,d=olympe.dc.Request.j.Ug;const e=olympe.dc.Request.j.ef,f=olympe.dc.Request.j.fh;var g=olympe.dc.Request.j.Hi;const h=olympe.dc.Request.j.Bh,k=olympe.dc.Request.j.qg;var l=olympe.dc.Request.j.gg;const n=olympe.dc.Request.j.eg,p=olympe.dc.sources.de(),
|
|
836
|
-
q=a.getType(),r=a.ic();if(Nd(b.D)){q===d&&(c=a.content,(g=Vf(a).get(olympe.dc.la.j.Yl))&&(yield Xj(p,c.T(),g)),b.G.debug(`Data Provider: Query ${c.T()} will be executed with its default Remote or Server provider`));if(q===l&&(l=a.content,'string'===typeof(null==l?void 0:l.url)&&l.url.startsWith('offline://')))return p.downloadFileContent(l.tag);l=yield b.X(a);if(q===d){const t=a.content;
|
|
837
|
-
x.
|
|
838
|
-
case d:return p.executeQuery(a.content);case e:case f:case h:d=a.content;const t=d.
|
|
839
|
-
b);const c=olympe.dc.sources.de(),d=a.content,e=a.ic();return rxjs.of(null).pipe(rxjs.operators.switchMap(()=>{if(Nd(this.D)){const f=new rxjs.Observable(h=>{olympe.C.yt([this.D.rf()],()=>{h.error(new olympe.error.aq('Go Offline',d.T()))})}),g=this.Z(a,b);return rxjs.merge(f,g)}return new rxjs.Observable(f=>{olympe.C.yt([this.D.rf()],()=>{f.error(new olympe.error.Qo('Back Online',d.T()))})})})).pipe(rxjs.operators.switchMap(f=>rxjs.from(ak(c,d.T(),e,f.
|
|
840
|
-
throw g;}))))}};olympe.dc.sources.cm.ya=[olympe.dc.sources.hk];const bk=olympe.dc.Request.j.pc,ck=olympe.dc.Request.j.Ug,dk=olympe.dc.Request.j.Kk,ek=olympe.dc.Request.j.ef,fk=olympe.dc.Request.j.fh,gk=olympe.dc.Request.j.Hi,hk=olympe.dc.Request.j.Bh,ik=olympe.dc.Request.j.qg,jk=olympe.dc.Request.j.gg,kk=olympe.dc.Request.j.eg;function lk(a,b){let c;return(null==(c=a.Ha.jb(b))?void 0:c.Sf(olympe.dc.sources.Config.We))!==olympe.dm.DataSource.We.eq}
|
|
841
|
-
function mk(a,b){let c;return(null==(c=a.Ha.jb(b))?void 0:c.Sf(olympe.dc.sources.Config.We))!==olympe.dm.DataSource.We.Ho}function nk(a,b,c){const d=c.content.
|
|
836
|
+
q=a.getType(),r=a.ic();if(Nd(b.D)){q===d&&(c=a.content,(g=Vf(a).get(olympe.dc.la.j.Yl))&&(yield Xj(p,c.T(),g)),b.G.debug(`Data Provider: Query ${c.T()} will be executed with its default Remote or Server provider`));if(q===l&&(l=a.content,'string'===typeof(null==l?void 0:l.url)&&l.url.startsWith('offline://')))return p.downloadFileContent(l.tag);l=yield b.X(a);if(q===d){const t=a.content;if(l instanceof ReadableStream){const v=new olympe.dc.db.ec(`fullResult_${t.T()}`);l=l.pipeThrough(new TransformStream({transform:(x,
|
|
837
|
+
y)=>u(function*(){const z=x.Yb();yield Yj(p,z);z.rc(v);b.G.j()&&b.G.debug(`Data Provider: Data result for query ${t.T()}`,z.Cb.size,'instances',Array.from(z.Ld()).length,'relations');y.enqueue(x)}),flush:()=>u(function*(){yield Zj(p,t.T(),r,v,!0)})}))}else d=l.Yb(),yield Yj(p,d),yield Zj(p,t.T(),r,d,!0)}else if(q===e||q===f||q===h)b.G.debug('Data Provider: Persisting graph patch in offline cache after successful transaction'),yield ak(p,null,r,a.content.Yb(),!1);return l}b.G.debug(`Data Provider: Request (type: ${q}) will be sent to the cache data provider: ${a.content}`);
|
|
838
|
+
switch(q){case c:return{s:olympe.dm.DataSource.pc.Ff};case d:return p.executeQuery(a.content);case e:case f:case h:d=a.content;const t=d.Yb().T();return p.applyTransaction(d,r).finally(()=>Wj(b,t));case g:return Promise.resolve();case k:return d=a.content,p.uploadFileContent(d.tag,d.content,d.mimeType);case l:return p.downloadFileContent(a.content.tag);case n:return p.deleteFileContent(a.content.tag);default:return Promise.reject(`Messages of type ${a.getType()} is not supported by the source ${b.T()}`)}})}subscribe(a,
|
|
839
|
+
b){if(!this.D.j)return this.Z(a,b);const c=olympe.dc.sources.de(),d=a.content,e=a.ic();return rxjs.of(null).pipe(rxjs.operators.switchMap(()=>{if(Nd(this.D)){const f=new rxjs.Observable(h=>{olympe.C.yt([this.D.rf()],()=>{h.error(new olympe.error.aq('Go Offline',d.T()))})}),g=this.Z(a,b);return rxjs.merge(f,g)}return new rxjs.Observable(f=>{olympe.C.yt([this.D.rf()],()=>{f.error(new olympe.error.Qo('Back Online',d.T()))})})})).pipe(rxjs.operators.switchMap(f=>rxjs.from(ak(c,d.T(),e,f.Yb()).then(()=>
|
|
840
|
+
f).catch(g=>{this.G.error(`Data Provider: Cache database failed to handle the data result with message: ${g}`);throw g;}))))}};olympe.dc.sources.cm.ya=[olympe.dc.sources.hk];const bk=olympe.dc.Request.j.pc,ck=olympe.dc.Request.j.Ug,dk=olympe.dc.Request.j.Kk,ek=olympe.dc.Request.j.ef,fk=olympe.dc.Request.j.fh,gk=olympe.dc.Request.j.Hi,hk=olympe.dc.Request.j.Bh,ik=olympe.dc.Request.j.qg,jk=olympe.dc.Request.j.gg,kk=olympe.dc.Request.j.eg;function lk(a,b){let c;return(null==(c=a.Ha.jb(b))?void 0:c.Sf(olympe.dc.sources.Config.We))!==olympe.dm.DataSource.We.eq}
|
|
841
|
+
function mk(a,b){let c;return(null==(c=a.Ha.jb(b))?void 0:c.Sf(olympe.dc.sources.Config.We))!==olympe.dm.DataSource.We.Ho}function nk(a,b,c){const d=c.content.Yb().T();let e=a.ba.get(d);e||(e=olympe.L.rb.mt(b),a.ba.set(d,e));return e.md(c)}function ok(a,b){b=b.yc();if(b!==olympe.dm.User.j&&a.Sf(olympe.dc.sources.Config.dn))throw a=`User ${b} has no right to access the restricted data source ${a.name()} (${a.T()}). Please use an admin account instead.`,new olympe.error.yk(a);}
|
|
842
842
|
function pk(a,b,c,d,e){return u(function*(){var f=olympe.L.pa.j.SEND,g=olympe.L.pa.j.GET;const h=olympe.L.pa.j.PUBLISH,k=olympe.L.pa.j.SUBSCRIBE,l=d.At();var n=d.body();if(e!==n.yc())throw Error('Access denied: try to impersonate a user');ok(c,n);let p;if(null==(p=a.Jb)||!p.sources.has(n.ic()))throw Error(`Try to process a message with destination data source ${n.ic()} coming from remote but not started here`);if(l===k){if(n.getType()===dk)f=n.content.T();else throw Error('Not supported type of subscription');
|
|
843
843
|
g=yield d.bo(f);a.ia.set(g,f);g=a.N.get(f);g||(g=new qk(a.G,f,b,Tf(n,olympe.dc.Ia.$e)),a.N.set(f,g));g.subscribe()}else l===g?(n=yield b.request(n),void 0!==n?yield d.Oc(n):a.G.warn(`Request from ${d.source()} requires an output value, but got undefined instead.`)):l===f?(yield b.request(n),yield d.ack()):l===h&&(yield b.request(n))})}
|
|
844
|
-
olympe.dc.sources.Tr=class extends olympe.dc.sources.cm{constructor(a,b,c,d,e,f){super(a,d);this.H=b;this.j=c;this.db=e;this.F=new olympe.C.
|
|
845
|
-
olympe.dm.DataSource.pc.Yh;b=lk(this,c)?b.get(c,a):Promise.resolve({s:f});a=mk(this,c)?this.j.Lc(a):Promise.resolve({s:f});return Promise.all([b,a]).then(([k,l])=>{if((null==k?void 0:k.s)===e||(null==l?void 0:l.s)===e){let n,p;return{s:e,r:`${null!=(n=null==k?void 0:k.r)?n:''} ${null!=(p=null==l?void 0:l.r)?p:''}`}}return{s:f}});case ck:return mk(this,c)?Aj(this.j,a):b.get(c,a);case ek:const g=a.content.
|
|
846
|
-
return(mk(this,c)?Bj(this.j,a):b.get(c,a)).finally(()=>Wj(this,h));case gk:return lk(this,c)?nk(this,c,a).catch(k=>{this.G.error(`An error occurred while sending "burst transaction" to the data source ${c}: ${k}`)}):Promise.resolve();case hk:return d=a.content.
|
|
844
|
+
olympe.dc.sources.Tr=class extends olympe.dc.sources.cm{constructor(a,b,c,d,e,f){super(a,d);this.H=b;this.j=c;this.db=e;this.F=new olympe.C.Zb('Remote Provider Context');this.wa=new Map;this.R=new Map;this.N=new Map;this.ia=new Map;this.Ha=f;this.ba=new Map}T(){return olympe.dc.Ia.$e}X(a){var b=olympe.L.rb;const c=a.ic();var d=a.getType();this.G.j()&&this.G.debug(`Request (type: ${d}) will be sent to remote data provider ${c}: ${a.content}`);switch(d){case bk:const e=olympe.dm.DataSource.pc.Bb,f=
|
|
845
|
+
olympe.dm.DataSource.pc.Yh;b=lk(this,c)?b.get(c,a):Promise.resolve({s:f});a=mk(this,c)?this.j.Lc(a):Promise.resolve({s:f});return Promise.all([b,a]).then(([k,l])=>{if((null==k?void 0:k.s)===e||(null==l?void 0:l.s)===e){let n,p;return{s:e,r:`${null!=(n=null==k?void 0:k.r)?n:''} ${null!=(p=null==l?void 0:l.r)?p:''}`}}return{s:f}});case ck:return mk(this,c)?Aj(this.j,a):b.get(c,a);case ek:const g=a.content.Yb().T();return(lk(this,c)?b.get(c,a):Bj(this.j,a)).finally(()=>Wj(this,g));case fk:const h=a.content.Yb().T();
|
|
846
|
+
return(mk(this,c)?Bj(this.j,a):b.get(c,a)).finally(()=>Wj(this,h));case gk:return lk(this,c)?nk(this,c,a).catch(k=>{this.G.error(`An error occurred while sending "burst transaction" to the data source ${c}: ${k}`)}):Promise.resolve();case hk:return d=a.content.Yb().T(),this.ba.delete(d),lk(this,c)?b.get(c,a):Bj(this.j,a);case ik:return mk(this,c)?this.j.uploadFileContent(a):b.get(c,a);case jk:return mk(this,c)?this.j.downloadFileContent(a):b.get(c,a);case kk:return mk(this,c)?this.j.deleteFileContent(a):
|
|
847
847
|
b.send(c,a);default:return Promise.reject(`Messages of type ${a.getType()} is not supported by the source ${this.T()}`)}}Z(a,b){const c=a.ic(),d=a.getType();if(!lk(this,c))return rxjs.throwError(()=>Error(`Subscription request not supported for data source ${this.db.name(c)} (${c}) which uses HTTP only.`));this.G.j()&&this.G.debug(`Subscription (type: ${d}) will be sent to remote data provider ${c}: ${a.content}`);return d===dk?olympe.L.rb.observe(c,this.F,a,{onRetry:b}).observable:rxjs.throwError(()=>
|
|
848
848
|
Error(`Do not handle subscription request of type ${d}`))}init(a){super.init(a);if(a.F)return this;olympe.dc.la.from(this.H,this.H).bb(olympe.dm.DataSource.Nj).filter(olympe.dc.query.za.Fa(olympe.dm.DataSource.ji,!0)).filter(olympe.dc.query.za.Fa(olympe.dm.DataSource.Us,!0)).observe(this.F).subscribe(b=>{b.zj().forEach(this.lb.bind(this,a));b.Fj().forEach(c=>{let d;null==(d=this.wa.get(c))||d.destroy();this.wa.delete(c)})});this.db.Pa(this.H,olympe.dm.DataSource.Us)&&(new olympe.L.rb(this.H,this.F)).listen().subscribe(b=>
|
|
849
|
-
{b=b.body();b instanceof olympe.dc.Request?a.Oc(b):this.G.error('Self source received something else than a data request, ignore it.')});return this}destroy(){return u(function*(){})}lb(a,b){const c=b.W(),d=new olympe.C.
|
|
850
|
-
(k=e)?void 0:k()}));f!==olympe.dm.DataSource.We.eq&&(f=new olympe.C.
|
|
849
|
+
{b=b.body();b instanceof olympe.dc.Request?a.Oc(b):this.G.error('Self source received something else than a data request, ignore it.')});return this}destroy(){return u(function*(){})}lb(a,b){const c=b.W(),d=new olympe.C.Zb(`Published data provider context ${c}`,this.F);this.wa.set(c,d);let e;rk(b,d).subscribe(f=>{let g;null==(g=e)||g();let h;null==(h=this.R.get(c))||h.stop();this.R.delete(c);f!==olympe.dm.DataSource.We.Ho&&(e=vj(this.j,c,k=>{ok(b,k);return a.request(k)}),d.onDestroy(()=>{let k;return null==
|
|
850
|
+
(k=e)?void 0:k()}));f!==olympe.dm.DataSource.We.eq&&(f=new olympe.C.Zb(`Bus Service of data source ${c}`,d),f=(new olympe.L.rb(c,f)).It(this.Ua.bind(this)),this.R.set(c,f),f.listen().subscribe(k=>{k.Di().then(l=>pk(this,a,b,k,l)).catch(l=>{this.G.warn(`Error occurred while processing request from ${k.source()}: ${l}`);return k.oi(l instanceof Error?l:Error(l))})}))})}zi(a){const b=this;return u(function*(){let c;yield null==(c=b.R.get(a.ic()))?void 0:c.zi(a)})}Ua(a){const b=this.ia.get(a);this.ia.delete(a);
|
|
851
851
|
if(a=b)null==(a=this.N.get(b))?a=0:(0<a.j&&--a.j,0===a.j?(a.G.debug(`Data subscription ${a.D} has more subscriber: unsubscribe`),a.F.unsubscribe(),a=!0):(a.G.debug(`Data subscription ${a.D} has ${a.j} subscribers`),a=!1));a&&this.N.delete(b)}};
|
|
852
852
|
class qk{constructor(a,b,c,d){this.G=a;this.D=b;this.j=0;this.F=c.subscribe(d).subscribe({next:e=>{olympe.L.rb.md(b,e).catch(f=>a.error(`Error occurred while publishing a data notification: ${f}`))},error:e=>a.error(`Error occurred while trying to subscribe to topic ${b} for a datasource: ${e}`)})}subscribe(){this.j++;this.G.debug(`Data subscription ${this.D} has ${this.j} subscribers`);return this}}olympe.dc.sources.Tr.ya=[olympe.dc.sources.hk];const X={Fs:10,Wo:11,Hp:12,Ar:13,QUERY_RESULT:14,Zp:15,mp:16,ef:17,Br:18,lp:19,gj:20};function sk(a,b){const c=new olympe.dc.transaction.Je,d=new olympe.dc.transaction.Je;b.forEach(e=>{const f=new Map(Array.from(Object.entries(e.p).map(([h,k])=>[h,a.j(k)]))),g=e.v?d:c;g.Uc(e.t,e.s,f,e.m);e.r.forEach(h=>g.Oa(h.r,h.o,h.d))});a.Z.od(Yf(Zf(d),olympe.dc.Ia.SELF),{persist:!1});a.Z.od(Yf(Zf(c),olympe.dc.Ia.SELF))}
|
|
853
853
|
olympe.dc.sources.cc=class extends olympe.L.cc{constructor(a){super();this.Z=a;this.db=a.view;this.F=new Map}fa(a){a=super.fa(a);if(0<this.F.size){const b=Array.from(this.F.values());this.F.clear();return Object.assign(this.format(X.Fs,a),{i:b})}return a}N(a){return(null==a?void 0:a.t)===X.Fs&&Array.isArray(null==a?void 0:a.i)?(sk(this,a.i),this.j(a.v)):this.j(a)}D(a){switch(!0){case a instanceof olympe.dm.File:var b=this.format,c=X.Hp;{const d=a.W(),e={t:d};if(!this.F.has(d)&&(this.H(d),!this.db.Se(d))){const f=
|
|
854
854
|
a.get(olympe.dm.File.urlProp);if(f.startsWith('blob:')||f.startsWith('stream:'))a=olympe.dc.bt().Ha(a),this.F.get(d).p[olympe.dm.File.urlProp.W()]='stream://'+d,e.s=this.D(a)}a=e}return b.call(this,c,a);case a instanceof olympe.dc.CloudObject:return this.format(X.Wo,this.H(a.W()));case a instanceof olympe.dc.la:return this.format(X.Ar,a.fa());case a instanceof olympe.dc.Ka:return this.format(X.QUERY_RESULT,a.fa(this.H.bind(this)));case a instanceof olympe.dc.db.ec:return b=new olympe.dc.transaction.Je,
|
|
855
|
-
a.rc(b),this.format(X.Zp,{i:a.T(),p:Zf(b)});case a instanceof olympe.dc.Request:return this.format(X.mp,{r:a.getType(),o:a.origin,d:a.ic(),u:a.yc(),c:this.D(a.content)});case a instanceof olympe.dc.transaction.mj:return this.format(X.ef,{r:a.wh(),p:this.D(a.
|
|
855
|
+
a.rc(b),this.format(X.Zp,{i:a.T(),p:Zf(b)});case a instanceof olympe.dc.Request:return this.format(X.mp,{r:a.getType(),o:a.origin,d:a.ic(),u:a.yc(),c:this.D(a.content)});case a instanceof olympe.dc.transaction.mj:return this.format(X.ef,{r:a.wh(),p:this.D(a.Yb())});case a instanceof olympe.dc.query.Id:return this.format(X.Br,a.fa());case a instanceof olympe.dc.Ig:return this.format(X.lp,a.fa());case a instanceof olympe.dc.wc:return this.format(X.gj,this.H(a.W()));default:return super.D(a)}}j(a){if(null===
|
|
856
856
|
a||'object'!==typeof a)return super.j(a);const {t:b,v:c}=a;switch(b){case X.Hp:var d=c.t;c.s&&(a=this.j(c.s),olympe.dc.bt().wb(d,a));return olympe.dc.CloudObject.get(d);case X.Wo:return olympe.dc.CloudObject.get(c);case X.Ar:return d=c.p.map(olympe.dc.query.na.Zm.j),a=c.e,new olympe.dc.la(c.b,c.s,d,d.length-1,new Set(c.r),{max:a.m,offset:a.o,Od:a.s,Ue:a.rm});case X.QUERY_RESULT:return Qi(c);case X.Zp:return(new olympe.dc.transaction.dj).j(c.p,c.i);case X.mp:return a=null!=(d=this.j(c.c))?d:void 0,
|
|
857
857
|
Tf(new olympe.dc.Request(c.r,c.d,a,c.u),c.o);case X.ef:return d=this.j(c.p),new olympe.dc.transaction.mj(d,c.r);case X.Br:return olympe.dc.query.Id.j(c);case X.lp:return olympe.dc.Ig.j(c);case X.gj:return new olympe.dc.wc(c);default:return super.j(a)}}H(a){if(this.F.has(a))return a;if(!this.db.Ja(a))throw new olympe.dc.jr(a);const b={};this.db.Ab(a).forEach((d,e)=>{b[e]=this.D(d)});var c=[];for(const [d,e,f]of vh(this.db,a))this.F.has(f)&&c.push(e===olympe.dc.va.DESTINATION?{r:d,o:a,d:f}:{r:d,o:f,
|
|
858
858
|
d:a});c={t:a,m:this.db.model(a),s:this.db.source(a),p:b,r:c};this.db.Se(a)||(c.v=!0);this.F.set(a,c);return a}};const tk=olympe.dc.Request.j.Kg,uk=olympe.dc.Request.j.ef,vk=olympe.dc.Request.j.fh,wk=olympe.dc.Request.j.Hi,xk=olympe.dc.Request.j.Eo,yk=olympe.dc.Request.j.Jr,zk=olympe.dc.Request.j.Ug,Ak=olympe.dc.Request.j.Kk,Bk=olympe.dc.Request.j.Yp,Ck=olympe.dc.Request.j.Fu,Dk=olympe.dc.Request.j.Gu,Ek=olympe.dc.Request.j.Hu,Fk=olympe.dc.Request.j.eg,Gk=olympe.dc.Request.j.gg,Hk=olympe.dc.Request.j.qg,Ik=olympe.dc.Request.j.lk,Jk=olympe.dc.Request.j.ax,Kk=olympe.dc.Request.j.pw,Lk=olympe.dc.Request.j.Tp,Mk=
|
|
859
|
-
olympe.dc.Request.j.Bh,Nk=olympe.dc.Request.j.gu,Ok=olympe.dc.Request.j.pc;function Pk(a){return Qk(a,olympe.dc.Request.j.Kg).then(b=>{b=b.getData().p;const c=Yf(b,a.T());a.G.j()&&a.G.debug('< Get Context result',b);a.G.N()&&a.G.log('< Get Context result has',b.length,'operations');return c})}function Rk(a,b){const c=new olympe.dc.transaction.Je({ne:!1,ki:!1}),d=b.
|
|
860
|
-
function Tk(a,b){const c=b.
|
|
861
|
-
function Vk(a,b){const c=new olympe.dc.transaction.Je({ne:!1,ki:!1}),d=b.
|
|
859
|
+
olympe.dc.Request.j.Bh,Nk=olympe.dc.Request.j.gu,Ok=olympe.dc.Request.j.pc;function Pk(a){return Qk(a,olympe.dc.Request.j.Kg).then(b=>{b=b.getData().p;const c=Yf(b,a.T());a.G.j()&&a.G.debug('< Get Context result',b);a.G.N()&&a.G.log('< Get Context result has',b.length,'operations');return c})}function Rk(a,b){const c=new olympe.dc.transaction.Je({ne:!1,ki:!1}),d=b.Yb(),e=b.j;d.rc(c);return Sk(a,uk,{i:d.T(),r:b.wh(),p:Zf(c),bd:e?!0:void 0}).then(f=>f.ct)}
|
|
860
|
+
function Tk(a,b){const c=b.Yb(),d=new olympe.dc.transaction.Je({Fl:!0,ne:!1,ki:!1});c.rc(d);b=b.j?'bd=true':'';return Qk(a,vk,Zf(d),b,olympe.net.ra.ResponseType.mn).then(e=>{try{const f=e.getData();let g;return null!=(g=JSON.parse(f).ct)?g:Date.now()}catch(f){return Date.now()}}).finally(()=>{Uk(a,Ik,{id:c.T(),finalize:olympe.dc.transaction.Kf.j.$i})})}
|
|
861
|
+
function Vk(a,b){const c=new olympe.dc.transaction.Je({ne:!1,ki:!1}),d=b.Yb();d.rc(c);return Sk(a,wk,{i:d.T(),r:b.wh(),p:Zf(c)},!1).catch(e=>a.G.error(`Error while publishing burst transaction: ${e}`))}function Wk(a,b){const c=new olympe.dc.transaction.Je({ne:!1,ki:!1});b=b.Yb();b.rc(c);return Sk(a,Mk,{i:b.T(),p:Zf(c)}).then(d=>d.ct)}
|
|
862
862
|
function Xk(a,b){const c=encodeURI(ab(olympe.U.kf(),JSON.stringify(Yk(a,b))));a.G.j()&&a.G.debug(`Static GraphDef query ${b} sent to orchestrator`);return Qk(a,zk,void 0,`query=${c}&v=${a.version}`,olympe.net.ra.ResponseType.le).then(d=>Zk(a,d))}function $k(a,b){const c=b.T();a.G.j()&&a.G.debug(`Query (${c}) sent to orchestrator: ${b}`);const d=Yk(a,b);return vb(a.wa,()=>Qk(a,Bk,d,void 0,olympe.net.ra.ResponseType.le)).then(e=>Zk(a,e))}
|
|
863
863
|
function al(a,b){if(!ze(a.F))return a.G.error(`Server is disconnected, backup of instance ${b} is canceled.`),Promise.reject('Server is disconnected');b=Yk(a,olympe.dc.la.from(b));b.f=olympe.dc.Lb.qp;b=N(yj(a.j,olympe.dc.Ia.SERVER,xk),olympe.net.ra.Gd.Rg,JSON.stringify(b),olympe.net.ra.ResponseType.ci);O(b,{[olympe.net.ra.Headers.Eh]:olympe.net.ra.bk.JSON});return zj(a.j,b).then(c=>c.getData())}
|
|
864
864
|
function bl(a,b,c,d){if(!ze(a.F))return a.G.error('Server is disconnected, restore of instance is canceled.'),Promise.reject('Server is disconnected');const e=yj(a.j,olympe.dc.Ia.SERVER,yk);b=N(e+`?debug=${c}&optional=${d}`,olympe.net.ra.Gd.Rg,b);O(b,{[olympe.net.ra.Headers.Eh]:olympe.net.ra.bk.nx});return zj(a.j,b).then(f=>f.getData())}
|
|
@@ -872,7 +872,7 @@ olympe.dc.sources.hs=class extends olympe.dc.sources.cm{constructor(a,b,c,d,e,f,
|
|
|
872
872
|
olympe.dm.DataSource.pc.Bb,b=olympe.dm.DataSource.pc.Yh,Promise.resolve(ze(this.F)?{s:b}:{s:a,r:'Disconnected'});case tk:return Pk(this);case uk:return Rk(this,c);case vk:return Tk(this,c);case wk:return Vk(this,c);case Mk:return Wk(this,c);case zk:return d.get(olympe.dc.la.j.uq)?Xk(this,c):$k(this,c);case xk:return al(this,c);case yk:return bl(this,c.NF,c.debug,c.optional);case Jk:case Kk:case Lk:case Nk:return Sk(this,b,{});case Gk:return this.j.downloadFileContent(a);case Fk:return this.j.deleteFileContent(a);
|
|
873
873
|
case Hk:return this.j.uploadFileContent(a);default:return Promise.reject(`ServerProvider: Message of type ${b} not supported yet`)}}Z(a,b){if(a.getType()===Ak){const c=a.content,d=c.T();return(new rxjs.Observable(e=>{const f=Yk(this,c);this.N.delete(d);this.H.set(d,e);Sk(this,Ck,f).catch(g=>e.error(g))})).pipe(sb(olympe.error.Th,(e,f)=>{this.G.debug(`Subscribe to topic ${e.T()} now that we are back online, after waiting for ${f}ms`);b()}),rxjs.operators.finalize(()=>{this.N.add(d);Sk(this,Dk,{i:d}).catch(e=>
|
|
874
874
|
{this.G.warn(`Fail to unsubscribe to graphdef ${d}: ${e}`)}).finally(()=>{this.N.has(d)&&this.H.delete(d);this.N.delete(d)})}))}return rxjs.throwError(()=>Error(`Subscription of type ${a.getType()} is not supported`))}init(a){super.init(a);xe(this.F,olympe.L.Ge.Hg,this.ia.bind(this));return this}destroy(){return u(function*(){})}ia(a,b){const c=olympe.dc.Request.j.Go,d=olympe.dc.Request.j.Lm,e=a.c;if(e===olympe.dc.Request.j.ek)cl(this,a,b).then(f=>{Uk(this,e,f)});else if(e===c)b=this.R.j(a.p,a.i),
|
|
875
|
-
b=Pf(b,a.ct),Uk(this,e,{rollback:b,error:a.error});else if(e===Ek){const f=a.i;cl(this,a,b).then(g=>{let h;null==(h=this.H.get(f))||h.next(g)})}else e===d&&Uk(this,Ik,{id:a.i,finalize:olympe.dc.transaction.Kf.j.Lm,error:0<a.s?a.error:null})}ba(a,b){if(b instanceof olympe.dc.query.na.Zh){const c=b.relation;let d;b=null!=(d=a.get(b.T()))?d:[];return{t:c.W(),d:c.La()===olympe.dc.va.ORIGIN?1:2,v:!0,r:c.recursive,q:b.map(this.ba.bind(this,a))}}return{}}};olympe.dc.sources.hs.ya=[olympe.dc.sources.hk];function dl(a,b,c){const d=new olympe.C.
|
|
875
|
+
b=Pf(b,a.ct),Uk(this,e,{rollback:b,error:a.error});else if(e===Ek){const f=a.i;cl(this,a,b).then(g=>{let h;null==(h=this.H.get(f))||h.next(g)})}else e===d&&Uk(this,Ik,{id:a.i,finalize:olympe.dc.transaction.Kf.j.Lm,error:0<a.s?a.error:null})}ba(a,b){if(b instanceof olympe.dc.query.na.Zh){const c=b.relation;let d;b=null!=(d=a.get(b.T()))?d:[];return{t:c.W(),d:c.La()===olympe.dc.va.ORIGIN?1:2,v:!0,r:c.recursive,q:b.map(this.ba.bind(this,a))}}return{}}};olympe.dc.sources.hs.ya=[olympe.dc.sources.hk];function dl(a,b,c){const d=new olympe.C.Zb(`Source solver ${b.W()}`);b.bb(olympe.dm.Ed.F.ac()).bb(olympe.dm.Ed.D).oe().back().bb(olympe.dm.Ed.j).oe().observe(d,{nd:c,Cc:!0}).subscribe(e=>{e.zj().forEach(([f,g])=>{a.D.set(f.W(),g.T())});e.Fj().forEach(([f])=>{a.D.delete(f)})});b.bb(olympe.dm.hb.D).observe(d,{nd:c,Cc:!0}).subscribe(e=>{let f,g;a.F=null!=(g=null==(f=e.Kc())?void 0:f.T())?g:null});d.onDestroy(()=>{a.D.clear();a.F=null})}
|
|
876
876
|
olympe.dc.sources.Wk=class{constructor(a,b,c){this.db=a;this.j=b;this.N=c;this.D=new Map;this.F=null;this.H=!1}fromModel(a){a=olympe.dc.ea(a);return this.D.has(a)?this.D.get(a):this.F&&this.R(a)?this.F:this.N}re(a){let b;return null!=(b=this.db.source(a))?b:this.N}jb(a){return a===this.j?olympe.dc.CloudObject.get(this.j):a===olympe.dc.Ia.SERVER?olympe.dc.CloudObject.get(olympe.dm.DataSource.SERVER):this.db.Ja(a)&&this.db.Nb(a,olympe.dm.DataSource)?olympe.dc.CloudObject.get(a):null}R(){return!1}init(){if(!this.H){this.H=
|
|
877
877
|
!0;var a=new olympe.dc.Ya;Y(a.create(olympe.dm.DataSource,this.j).Ai(this.j),olympe.dm.DataSource.ji,!0);a.Oa(olympe.dm.DataSource.Nj,this.j,this.j);a.mb(()=>{olympe.dc.la.from(this.j).observe(olympe.C.nh()).subscribe(()=>{})})}}};olympe.dc.sources.P={Ca:'dc.sources.Logger',sk:'dc.sources.HTTPService',Vu:'dc.sources.IOService',Hr:'dc.sources.RemoteProvider',$r:'dc.sources.ServerProvider',BC:'dc.sources.OfflineProvider',bf:'dc.sources.SourceSolver',Ne:'dc.sources.Serializer',jp:'dc.sources.cache.Cache',kp:'dc.sources.cache.DATABASE',Zl:'dc.sources.cache.Logger'};
|
|
878
878
|
olympe.dc.sources.Config={Mh:'data.httpHost',Cf:'data.httpPort',Ri:'data.httpSSL',xm:'data.httpBasePath',Wm:'data.pollingFrequency',We:'data.communicationMode',dn:'data.restrictedUse',VERSION:'version.version',es:'data.streamWorker',ir:'data.queryConcurrencyLimit'};olympe.dc.sources.Oh={fw:'olympe.internal.data.',Mh:'olympe.internal.data.httpHost',Cf:'olympe.internal.data.httpPort',Ri:'olympe.internal.data.httpSSL'};
|
|
@@ -903,20 +903,20 @@ function El(a){const b=olympe.dc.sources.de();return u(function*(){let c;try{c=J
|
|
|
903
903
|
function Gl(){const a=olympe.dc.sources.de();return u(function*(){yield Hl(a.j);yield nl(a)})}
|
|
904
904
|
olympe.dc.sources.cache.Cache=class{constructor(a,b,c,d,e,f,g,h,k,l){this.G=a;this.Jb=b;this.j=c;this.Ha=d;this.xd=e;this.lb=f;this.Ua=g;this.wa=h;this.version=l;this.Z=this.version!==this.Ua.get('__code-as-data-version__');this.Vb=this.wb=!1;this.D=new Map;this.N=new rxjs.BehaviorSubject([]);this.H=null;this.ba=new rxjs.BehaviorSubject(!1);this.F=new olympe.dc.db.ec;this.Ic=this.Hc=!1;this.ia=[];this.X=0;this.me=new rxjs.BehaviorSubject(!1);this.status=new rxjs.BehaviorSubject({processing:!1});this.R=
|
|
905
905
|
!1;this.jd=new rxjs.Subject;this.Dd=new olympe.U.promise.ms(k)}Lc(){return this.status.asObservable()}init(){const a=this;return u(function*(){if(!a.Hc)if(a.Ic)yield new Promise(b=>{a.ia.push(b)});else{a.Ic=!0;(yield Il(a.j)).forEach(b=>{a.D.set(b.name,new Set(b.j))});a.N.next(gl(a));yield nl(a);a.Ha.od(Pf(a.F));for(const b of a.ia)b();a.Hc=!0;a.ia=[]}})}executeQuery(a){const b=this;return u(function*(){yield b.init();return sl(b,a.T())&&li(a).some(c=>c instanceof olympe.dc.query.na.Qd)?Jl(b.j,a).then(olympe.U.stream.Xs):
|
|
906
|
-
b.j.executeQuery(a).then(olympe.U.stream.Xs)})}applyTransaction(a,b){const c=this;return u(function*(){c.G.debug('Cache: apply transaction',a,b);yield c.init();const d=a.
|
|
906
|
+
b.j.executeQuery(a).then(olympe.U.stream.Xs)})}applyTransaction(a,b){const c=this;return u(function*(){c.G.debug('Cache: apply transaction',a,b);yield c.init();const d=a.Yb(),e=Array.from(d.Cb.keys());let f,g;const h=Array.from(null!=(g=null==(f=c.H)?void 0:f.j.Cb.keys())?g:[]);let k;b!==(null==(k=c.H)?void 0:k.D)||e.some(l=>!h.includes(l))?(yield Kl(c.j,d,b),c.H=new olympe.dc.sources.cache.ju(d,b),c.ba.next(!0)):(d.rc(c.H.j),yield Kl(c.j,c.H.j,b));d.rc(c.F);yield jl(c.j,d,'local-transaction')})}uploadFileContent(a,
|
|
907
907
|
b,c){const d=this;return u(function*(){yield d.init();yield rl(d.j,a,b,c);return`offline://${a}`})}downloadFileContent(a){const b=this;return u(function*(){yield b.init();return xl(b.j,a).then(c=>c.content)})}deleteFileContent(a){const b=this;return u(function*(){yield b.init();yield Ll(b.j,[a])})}};olympe.dc.sources.cache.ju=class{constructor(a,b){this.j=a;this.D=b}};olympe.dc.sources.cache.Cache.D='__code-as-data-version__';olympe.dc.sources.cache.Cache.j='__code-as-data__';function Il(a){return u(function*(){return(yield a.db.F('buckets')).map(b=>olympe.dc.sources.cache.kr.Qb(b))})}function ol(a){return u(function*(){return(yield a.db.F('pending-transactions')).map(b=>{b=olympe.dc.sources.cache.Vh.Qb(b);return el(b.j)})})}function hl(a,b,c){return u(function*(){a.G.debug(`Offline DB: Adding query ${b} in bucket ${c}`);return a.db.D()})}function il(a){return u(function*(){return a.db.D()})}
|
|
908
908
|
function jl(a,b,c){a.G.debug(`Offline DB: Apply patch ${b.T()} on local offline db`);Array.from(b.Cb.keys());return a.db.D().then(()=>{null===c&&(b.Cb.forEach((d,e)=>a.D.add(e)),a.F().then(()=>{}))})}function ql(a,b){return new Promise((c,d)=>{null!==a.files?c(a.files.has(b)):a.j.push(e=>{let f;return e?d(e):c(!(null==(f=a.files)||!f.has(b)))})})}
|
|
909
909
|
function rl(a,b,c,d){c=new olympe.dc.sources.cache.Tm(b,c,d);a.files.add(b);return a.db.set('files',c.toJSON()).then(()=>{}).catch(e=>{a.files.delete(b);throw e;})}function ul(a,b){return u(function*(){return a.db.remove('buckets',b).then(()=>{})})}function Al(a){return u(function*(){return(yield a.db.F('pending-transactions')).reduce((b,c)=>{c=olympe.dc.sources.cache.Vh.Qb(c);const d=c.D;let e;const f=null!=(e=b.get(d))?e:[];f.push(el(c.j));b.set(d,f);return b},new Map)})}
|
|
910
910
|
function Bl(a,b){return u(function*(){return a.db.remove('pending-transactions',b.T()).then(()=>{})})}function xl(a,b){return u(function*(){const c=yield a.db.get('files',b);if(!c)throw Error(`File ${b} not found in offline cache database`);return olympe.dc.sources.cache.Tm.Qb(c)})}function Dl(a){return u(function*(){return a.db.F('pending-transactions')})}
|
|
911
911
|
function Fl(a,b){return u(function*(){const c=new Map;for(const d of b){const e=olympe.dc.sources.cache.Vh.Qb(d);e&&c.set(e.j.i,d)}yield a.db.ba()})}function Hl(a){return u(function*(){return a.db.clear('pending-transactions').then(()=>{})})}
|
|
912
912
|
function Jl(a,b){return u(function*(){const c=b.jb();a.G.debug(`Offline DB: Executing query ${b.T()} by ID with source ${c}`);const d=olympe.dc.query.Id.yj(b);var e=(yield a.db.H(b.T())).map(f=>olympe.dc.sources.cache.Qg.Qb(f));for(const f of e){if(f.source!==c)continue;e=olympe.dc.sources.cache.Ck.Xb(f);const g=Ml(f.Nd);d.create(f.tag,e,g);for(const h of f.pb)if(e=h.match(/^([a-z0-9]*)(<|>)([a-z0-9]*)$/)){const [,k,l,n]=e;e='<'===l;k===olympe.dc.fc.ad&&!0===e||d.Oa(k,e?n:f.tag,e?f.tag:n)}}a.G.j()&&
|
|
913
|
-
a.G.debug(`Offline DB: Data result for query ${b.T()}`,d.
|
|
913
|
+
a.G.debug(`Offline DB: Data result for query ${b.T()}`,d.Yb().Cb.size,'instances',Array.from(d.Yb().Ld()).length,'relations');return d})}function Kl(a,b,c){b=a.N.fa(b);a.G.debug(`save transaction in destination '${c}'`,JSON.stringify(b));return a.db.set('pending-transactions',(new olympe.dc.sources.cache.Vh(c,b,Date.now())).toJSON())}function Nl(a){return u(function*(){return a.db.N('pending-transactions')})}function Ll(a,b){return u(function*(){b.forEach(c=>a.files.delete(c));yield a.db.Z()})}
|
|
914
914
|
function Ml(a){return Object.entries(a).reduce((b,[c,d])=>b.set(c,el(d)),new Map)}
|
|
915
915
|
olympe.dc.sources.cache.Ck=class{constructor(a,b,c){this.H=`Olympe_Cache_${a}`;this.G=b;this.N=new olympe.dc.sources.cache.iq;this.db=c.D(this.H);this.D=new Set;this.j=[];this.files=null;this.db.R('files').then(d=>{this.files=new Set(d);this.j.forEach(e=>e(null))}).catch(d=>{this.j.forEach(e=>e(d))});this.F=olympe.U.Promise.vj(()=>{const d=this;return u(function*(){if(!(0===d.D.size||0<(yield Nl(d))))if(0<d.db.X())d.F().then(()=>{}),d.G.debug('Offline DB GC: Postponing round while the stack is busy');
|
|
916
916
|
else{d.G.debug(`Offline DB GC: Round with ${d.D.size} candidates`);var e=Date.now();yield d.db.D().then(()=>{});d.G.debug(`Offline DB GC: has taken ${Date.now()-e}ms to run`)}})},5E3)}static Xb(a){const b=new RegExp(`^(${olympe.dc.fc.ad})>([a-z0-9]*)$`);for(const c of a.pb)if(a=c.match(b))return a[2];return null}executeQuery(a){const b=this;return u(function*(){const c=Date.now();b.G.debug(`Offline DB: Executing query ${a.T()} with source ${a.jb()}`);const d=olympe.dc.query.Id.yj(a),e=a.jb();var f=
|
|
917
|
-
yield b.db.get('instances',a.D),g=olympe.dc.sources.cache.Qg.Qb(f);if(!g)return d;f=new Map;const h=new Set([g.tag]);d.create(g.tag,olympe.dc.sources.cache.Ck.Xb(g),Ml(g.Nd));for(const p of li(a))if(p instanceof olympe.dc.query.na.Zh){var k=p.relation;g=k.La()===olympe.dc.va.ORIGIN;const q=k.W(),r=k
|
|
917
|
+
yield b.db.get('instances',a.D),g=olympe.dc.sources.cache.Qg.Qb(f);if(!g)return d;f=new Map;const h=new Set([g.tag]);d.create(g.tag,olympe.dc.sources.cache.Ck.Xb(g),Ml(g.Nd));for(const p of li(a))if(p instanceof olympe.dc.query.na.Zh){var k=p.relation;g=k.La()===olympe.dc.va.ORIGIN;const q=k.W(),r=k.ac();k=new Set;f.set(p.T(),k);const t=[f.has(p.j)?new Set(f.get(p.j)):new Set([a.D])];for(const v of t){const x=new Map;var l=yield Promise.all(Array.from(v).map(y=>{if(!h.has(y))return b.G.warn(`Offline DB: Instance ${y} not found while processing query part, this should not happen`),
|
|
918
918
|
Promise.resolve([]);r.W();return b.db.H().then(z=>z.map(A=>olympe.dc.sources.cache.Qg.Qb(A))).then(z=>{x.set(y,z)})})).then(()=>x);for(const [y,z]of l){p instanceof olympe.dc.query.na.Ee&&p.F&&k.add(y);for(const A of z)if(l=A.tag,A.source===e){if(p instanceof olympe.dc.query.na.Ee&&!k.has(l)){var n=t[t.length-1];n||(n=new Set,t.push(n));n.add(l)}k.add(l);h.has(l)||(h.add(l),n=olympe.dc.sources.cache.Ck.Xb(A),d.create(l,n,Ml(A.Nd)));q===olympe.dc.fc.ad&&!0===g||d.Oa(q,g?l:y,g?y:l)}}}}else p instanceof
|
|
919
|
-
olympe.dc.query.na.Qd&&b.G.warn(`Offline DB: Trying to execute a query ${a.T()} on the Cache DB that contains a FollowRule part. This is not supported and designed not to happen.`);b.G.j()&&(b.G.debug(`Offline DB: Data result for query ${a.T()}`,d.
|
|
919
|
+
olympe.dc.query.na.Qd&&b.G.warn(`Offline DB: Trying to execute a query ${a.T()} on the Cache DB that contains a FollowRule part. This is not supported and designed not to happen.`);b.G.j()&&(b.G.debug(`Offline DB: Data result for query ${a.T()}`,d.Yb().Cb.size,'instances',Array.from(d.Yb().Ld()).length,'relations'),b.G.debug(`Offline DB: Data result for query ${a.T()} took ${Date.now()-c}ms to be executed`));return d})}};
|
|
920
920
|
olympe.dc.sources.cache.kr=class{constructor(a,b){this.name=a;this.j=b}static Qb(a){return a?new olympe.dc.sources.cache.kr(a.name,a.queryIds):null}toJSON(){return{name:this.name,queryIds:this.j}}};
|
|
921
921
|
olympe.dc.sources.cache.Qg=class{constructor(a,b,c,d,e){this.tag=a;this.source=b;this.Nd=null!=c?c:{};this.pb=null!=d?d:[];this.j=null!=e?e:[]}static Qb(a){return a?new olympe.dc.sources.cache.Qg(a.tag,a.source,a.props,a.relations,a.queryIds):null}toJSON(){return{tag:this.tag,source:this.source,props:this.Nd,relations:this.pb,queryIds:this.j}}};
|
|
922
922
|
olympe.dc.sources.cache.Vh=class{constructor(a,b,c){this.D=a;this.j=b;this.timestamp=c}static Qb(a){return a?new olympe.dc.sources.cache.Vh(a.destination,a.patch,a.timestamp):null}toJSON(){return{destination:this.D,patch:this.j,timestamp:this.timestamp}}};
|
|
@@ -925,7 +925,7 @@ olympe.dc.sources.cache.Tm=class{constructor(a,b,c){this.tag=a;this.content=b;th
|
|
|
925
925
|
olympe.dc.sources.cache.Ou=class{constructor(a,b){this.G=a;this.F=b;this.j=new Map;this.R=new Set;this.X=new Set;this.H=new olympe.dc.sources.cache.iq;this.N=new Map}Xc(){this.R.forEach(a=>this.j.delete(a));Array.from(this.j.entries()).forEach(([a,b])=>{b||this.j.delete(a)});return this.j}Uc(a,b,c){const d=this.j.get(a);d||this.X.add(a);var e;c=Array.from(null!=c?c:[]).reduce((h,k)=>{h[k[0]]=this.H.fa(k[1]);return h},null!=(e=null==d?void 0:d.Nd)?e:{});let f;e=null!=(f=null==d?void 0:d.j)?f:[];null===
|
|
926
926
|
this.F||e.includes(this.F)||e.push(this.F);let g;b=new olympe.dc.sources.cache.Qg(a,b,c,null!=(g=null==d?void 0:d.pb)?g:[],e);this.j.set(a,b)}$c(a,b){const c=this.j.get(a);if(c){var d;c.Nd=Array.from(b).reduce((e,[f,g])=>{null===g?delete e[f]:e[f]=this.H.fa(g);return e},null!=(d=c.Nd)?d:{})}else this.G.warn(`Trying to update an instance (${a}) which do not exists in the cache database: ignoring.`)}D(a){this.R.add(a)}Oa(a,b,c){var d;const e=null!=(d=this.j.get(b))?d:new olympe.dc.sources.cache.Qg(b,
|
|
927
927
|
'unknown',{},[],[]);var f;d=null!=(f=this.j.get(c))?f:new olympe.dc.sources.cache.Qg(c,'unknown',{},[],[]);b=`${a}${olympe.dc.va.ORIGIN}${b}`;f=(g,h)=>{this.j.set(g.tag,g);const k=Ol(this,g.tag);k.has(h)||(g.pb.push(h),k.add(h));null===this.F||g.j.includes(this.F)||g.j.push(this.F)};f(e,`${a}${olympe.dc.va.DESTINATION}${c}`);f(d,b)}hc(a,b,c){const d=this.j.get(b),e=this.j.get(c);c=`${a}${olympe.dc.va.DESTINATION}${c}`;a=`${a}${olympe.dc.va.ORIGIN}${b}`;b=(f,g)=>{const h=Ol(this,f.tag);if(h.has(g)){const k=
|
|
928
|
-
f.pb.indexOf(g);f.pb.splice(k,1);h.delete(g)}};d&&b(d,c);e&&b(e,a)}};olympe.dc.sources.cache.Ou.ya=[olympe.dc.Writable];olympe.dc.transaction={};olympe.dc.Ii=class a{constructor(b,c){this.id=null!=b?b:olympe.U.Mc();this.D=new olympe.C.
|
|
928
|
+
f.pb.indexOf(g);f.pb.splice(k,1);h.delete(g)}};d&&b(d,c);e&&b(e,a)}};olympe.dc.sources.cache.Ou.ya=[olympe.dc.Writable];olympe.dc.transaction={};olympe.dc.Ii=class a{constructor(b,c){this.id=null!=b?b:olympe.U.Mc();this.D=new olympe.C.Zb('BurstTransaction#'+this.id,c);this.wb=Pl(this);this.R=!1;this.D.onDestroy(()=>this.N());this.X=new Set;this.F=new Map;this.H=new Set;this.j=null;let d;this.Ua=null!=(d=olympe.V.getParameter(olympe.dc.transaction.Config.Fo))?d:30;this.ia=[]}static j(b,c){return`${b},${c}`}Vb(b){for(const c of this.ia)c(b);this.stop()}Ha(){null!==this.j&&(clearTimeout(this.j),this.j=null);const b=this.ba(this.H);0<b.size&&
|
|
929
929
|
Ql(this,b,!1);this.H.clear()}ba(b){const c=new Map;b.forEach(d=>{const e=d.split(',');let f=c.get(e[0]);void 0===f&&(f=new Map,c.set(e[0],f));f.set(e[1],this.F.get(d))});return c}Z(b,c,d){this.wa(b,c,d);this.wb(b,c,d);null===this.j&&(this.j=setTimeout(this.Ha.bind(this),this.Ua))}wa(b,c,d){b=a.j(b,c);this.F.set(b,d);this.H.add(b)}lb(b,c){return this.F.get(a.j(b,c))}push(b,c){const d=olympe.dc.ea(b);b=c.subscribe(e=>{for(const [f,g]of e)e=olympe.dc.ea(f),this.lb(d,e)!==g&&this.Z(d,e,g.valueOf())});
|
|
930
930
|
this.X.add(b)}complete(){return new Promise((b,c)=>{this.N((d,e)=>{for(const f of this.X)f.unsubscribe();d?b():c(e)})})}update(b,c,d){const e=olympe.dc.ea(b),f=olympe.dc.ea(c);void 0===e||void 0===f?olympe.ha.Wa('dc').error('Burst transaction: instance tag or property tag is undefined'):(this.D.run(()=>{olympe.C.eo([d],g=>{this.R=!0;if(g instanceof olympe.dc.wc)olympe.ha.Wa('dc').error('Cannot send complex property values in burst transactions');else{var h;this.Z(e,f,null!=(h=null==g?void 0:g.valueOf())?
|
|
931
931
|
h:null)}})}),this.D.Yd(()=>{this.N()}))}stop(){this.D.destroy();this.ia.length=0}getContext(){return this.D}T(){return this.id}wh(){return!1}N(b){if(this.R){this.R=!1;null!==this.j&&(clearTimeout(this.j),this.j=null);this.H.clear();const c=this.ba(new Set(this.F.keys()));Ql(this,c,!0,b)}else null==b||b(!0)}toString(){return'Burst transaction #'+this.id}};olympe.dc.Ii.prototype.complete=olympe.dc.Ii.prototype.complete;olympe.dc.Ii.prototype.push=olympe.dc.Ii.prototype.push;olympe.dc.Sc=class{j(){}toString(){}};olympe.dc.Sc.j=1;olympe.dc.Sc.D=2;olympe.dc.Sc.H=3;olympe.dc.Sc.F=4;olympe.dc.Sc.N=5;olympe.dc.transaction.dj=class a{constructor(b){this.F=null!=b?b:olympe.dc.Ia.SERVER}static j(b){const c=new Map;for(const [d,e]of Object.entries(b)){b=d;let f=typeof e;20<b.length&&b.startsWith('fd')&&(b=olympe.dc.je.Ye+b.substring(2));'object'===f&&(f=e&&e.c?String(e.c):'untyped');switch(f){case '1':case '2':case '3':throw Error('Complex format for primitive types not supported.');case 'string':case 'boolean':case 'number':c.set(b,e);break;case '4':c.set(b,new Date(Date.UTC(e.y,e.M-1,e.d,e.h,e.m,
|
|
@@ -959,7 +959,7 @@ new olympe.dc.db.ec);return Sg(a.j,n)})}function lm(a,b,c,d){const e=olympe.C.nh
|
|
|
959
959
|
function mm(a,b,c,d,e){if(c&&olympe.C.Qa(a.ba.state)!==olympe.auth.Ta.j.tf)return Promise.reject('Cannot persist with batch transactions API if not authenticated (aka: `Transaction.executeAsLarge()`).');const f=c?olympe.dc.Request.j.fh:olympe.dc.Request.j.ef;return Promise.all(Array.from(b).map(([g,h])=>{g=new olympe.dc.Request(f,g,new olympe.dc.transaction.mj(h,d,e));return a.Jb.request(g)})).then(g=>g[0])}
|
|
960
960
|
function im(a,b,c,d){let e,f;null==(f=null==(e=a.F.get(b))?void 0:e.pop())||f(c,null!=d?d:null)}function nm(a,b){var c;null==(c=a.F.get(b))||c.forEach(d=>{d(olympe.dc.transaction.Kf.j.$i,null)});a.F.delete(b);if(0===a.F.size){for(const d of a.X)d();a.X=[]}a.D.has(b)&&(c=a.D.get(b),a.D.delete(b),c(!0))}
|
|
961
961
|
olympe.dc.transaction.Kf=class{constructor(a,b,c,d,e,f,g){this.G=a;this.j=b;this.db=b.view;this.Jb=c;this.ia=d;this.N=e;this.ba=f;this.R=g.get('notificationTimeout');this.Z=[];let h;this.wa=new Set(null!=(h=g.get('disabledCompilers'))?h:[]);this.H=new olympe.U.bi(g.get('burstHoldTime'));this.F=new Map;this.X=[];this.D=new Map;this.Ha=new olympe.U.promise.Xk;hm(this)}ue(a){vb(this.Ha,()=>this.Jb.request(new olympe.dc.Request(olympe.dc.Request.j.Tp,olympe.dc.Ia.SERVER)).then(b=>{a(b.ids,b.undo_stack_size,
|
|
962
|
-
b.redo_stack_size)}).catch(b=>this.G.error('Failed to process get stack request',b))).then(()=>{})}};olympe.dc.transaction.Kf.j={Lm:0,$i:1,Tv:2};olympe.dc.transaction.mj=class{constructor(a,b=!1,c=!1){this.D=a;this.F=b;this.j=c}wh(){return this.F}
|
|
962
|
+
b.redo_stack_size)}).catch(b=>this.G.error('Failed to process get stack request',b))).then(()=>{})}};olympe.dc.transaction.Kf.j={Lm:0,$i:1,Tv:2};olympe.dc.transaction.mj=class{constructor(a,b=!1,c=!1){this.D=a;this.F=b;this.j=c}wh(){return this.F}Yb(){return this.D}};olympe.dc.transaction.P={Ca:'dc.transaction.Logger',Ea:'dc.transaction.Manager'};olympe.dc.transaction.Config={Rq:'dc.transaction.timeout',Fo:'dc.transaction.burstInterval',om:'dc.transaction.disabledCompilers'};
|
|
963
963
|
olympe.V.config(function(a){E(a,olympe.dc.transaction.Config.Rq,9E4);E(a,olympe.dc.transaction.Config.Fo,30);E(a,olympe.dc.transaction.Config.om,[]);D(a,olympe.dc.transaction.P.Ca,[olympe.ha.P.Ea],b=>b.dd('dc'));D(a,'olympe.dc.transaction.Config',[new olympe.V.ma(olympe.dc.transaction.Config.Rq),new olympe.V.ma(olympe.dc.transaction.Config.om),new olympe.V.ma(olympe.dc.db.Config.am)],(b,c,d)=>new Map([['notificationTimeout',b],['disabledCompilers',c],['burstHoldTime',d]]));C(a,olympe.dc.transaction.P.Ea,
|
|
964
964
|
olympe.dc.transaction.Kf,olympe.dc.transaction.P.Ca,olympe.dc.db.P.Ea,olympe.dc.P.Wg,olympe.dc.sources.P.bf,olympe.dc.P.jk,olympe.auth.P.Ea,'olympe.dc.transaction.Config')},'olympe.dc.transaction');olympe.dc.transaction.Ga={};function om(a,b){const c=new Map;for(const [d,e]of b)c.set(d,a.Qa(e));return c}olympe.dc.transaction.Ga.Dg=class{constructor(){this.ga=olympe.dc.ga()}j(){throw Error('Abstract method build() not override !');}toString(){throw Error('Abstract method toString() not override !');}Qa(a){a=olympe.C.Qa(a);return void 0===a||null===a?null:olympe.C.pt(a)?a.valueOf():a}};olympe.dc.transaction.Ga.Dg.ya=[olympe.dc.Sc];olympe.dc.transaction.Ga.zo=class extends olympe.dc.transaction.Ga.Dg{constructor(a,b){super();this.relation=a instanceof olympe.dc.Ra.Relation?a:new olympe.dc.Ra.Relation(olympe.dc.ea(a));this.origin=this.ga.Ja(b)?olympe.dc.CloudObject.get(b):b}getType(){return this.relation.W()}La(){return this.relation.La()}j(){throw Error('Abstract method build() not override !');}toString(){throw Error('Abstract method toString() not override !');}};function Y(a,b,c){a.Nd.set(olympe.dc.ea(b),c);return a}olympe.dc.transaction.Ga.hp=class extends olympe.dc.transaction.Ga.Dg{constructor(a,b){super();let c;this.tag=null!=(c=b&&olympe.dc.ea(b))?c:olympe.U.jf();this.model=olympe.dc.ea(a);this.source=null;this.Nd=new Map}W(){return this.tag}Xb(){return this.model}Ai(a){this.source=a;return this}j(a){const b=this.Xb(),c=this.W();if(!b)throw Error('OperationError: Cannot create instance, model tag is undefined');a.Uc(c,b,this.source,om(this,this.Nd))}toString(){return`CreateInstance(${this.Xb()}, ${this.W()})`}};
|
|
965
965
|
olympe.dc.transaction.Ga.hp.ya=[olympe.dc.Ze];olympe.dc.transaction.Ga.gm=class extends olympe.dc.transaction.Ga.zo{constructor(a,b,c){super(a,b);this.D=this.ga.Ja(c)?olympe.dc.CloudObject.get(c):c}j(a){const b=this.getType();if(''===b)throw Error('OperationError: Cannot create relation, type is undefined, null or empty string');if(b===olympe.dc.fc.ad)throw Error('OperationError: Cannot create the instance -> model relation');if(!this.origin)throw Error('OperationError: Cannot create relation, origin tag is undefined, null or empty string');
|
|
@@ -968,7 +968,7 @@ a.hc(b,c,f):a.hc(b,f,c)}toString(){return`DeleteAllRelations(${this.La()}${this.
|
|
|
968
968
|
this.relation.La()===olympe.dc.va.DESTINATION?a.hc(b,c,d):a.hc(b,d,c)}toString(){return'DeleteRelation('+this.relation.La()+this.relation.W()+', '+olympe.dc.ea(this.origin)+', '+olympe.dc.ea(this.D)+')'}};olympe.dc.transaction.Ga.lx=class extends olympe.dc.transaction.Ga.Dg{constructor(a,b,c){super();this.tag=this.ga.Ja(a)?olympe.dc.CloudObject.get(a):a;this.Nd=new Map;void 0!==b&&this.Nd.set(olympe.dc.ea(b),c)}W(){return olympe.dc.ea(this.tag)}j(a){const b=this.W();if(void 0===b)throw Error('OperationError: Cannot update instance, tag is undefined');var c;if(!(null!=(c=a.j.Wc(b))&&c.D()||this.ga.Ja(b)))throw Error('OperationError: Instance #'+b+' not found so it cannot be updated');c=om(this,this.Nd);
|
|
969
969
|
for(const [e,f]of c){var d=this.ga.Pa(b,e,!0);d instanceof olympe.dc.wc&&Yl(a,d.W(),olympe.dc.Lb.Ec);f instanceof olympe.dc.wc&&!Tl(a,f.W())&&(d=new olympe.dc.Ya,d.persist(f.W()),d.j(a))}a.$c(b,c)}toString(){return'UpdateInstance('+this.W()+', '+om(this,this.Nd)+')'}};olympe.dc.transaction.Ga.kw=class a extends olympe.dc.transaction.Ga.Dg{constructor(b,c){super();this.tag=b;this.source=c}j(b){const c=olympe.dc.ga();if(Tl(b,this.tag)&&c.Ja(this.tag)&&!c.Se(this.tag)){const e=c.Ab(this.tag,!0);var d;let f;null==(f=null==(d=b.j.Wc(this.tag))?void 0:d.Ab())||f.forEach((g,h)=>{e.set(h,g)});for(const g of e.values())g instanceof olympe.dc.wc&&c.Ja(g.W())&&(new a(g.W(),this.source)).j(b);d=c.model(this.tag);b.Uc(this.tag,d,this.source,e);for(const [g,h,k]of vh(c,this.tag))Tl(b,
|
|
970
970
|
k)&&(h===olympe.dc.va.ORIGIN?b.Oa(g,k,this.tag):b.Oa(g,this.tag,k))}}toString(){return`PersistOperation: tag - ${this.tag}, src - ${this.source}`}};olympe.dc.ea=function(a){let b=null;if('string'===typeof a)return a;if('function'===typeof(null==a?void 0:a.W)&&(null==a||!a.hh))b=a.W();else if('function'===typeof a){let d;b=null!=(d=olympe.dc.oa.Xb(a))?d:''}else if(olympe.C.qf(a)){let d;b=olympe.dc.ea(null==(d=olympe.C.Qa(a))?void 0:d.valueOf())}let c;return null!=(c=b)?c:''};w('olympe.dc.instanceToTag',olympe.dc.ea);olympe.dc.ga=function(){return olympe.dc.Ys().view};olympe.dc.register=function(a,b){olympe.dc.oa.j(a,b)};
|
|
971
|
-
olympe.dc.defineProperty=function(a){return new olympe.dc.Ra.Property(a)};olympe.dc.Rs=function(a,b=olympe.dc.va.DESTINATION,c=olympe.dc.CloudObject,d=olympe.dc.va.DESTINATION){const e=olympe.dc.va.DESTINATION;return b===olympe.dc.va.ORIGIN||b===e?new olympe.dc.Ra.Relation(a,b):new olympe.dc.Ra.Relation(a,d,b,c)};olympe.dc.Tx=function(a){return a
|
|
971
|
+
olympe.dc.defineProperty=function(a){return new olympe.dc.Ra.Property(a)};olympe.dc.Rs=function(a,b=olympe.dc.va.DESTINATION,c=olympe.dc.CloudObject,d=olympe.dc.va.DESTINATION){const e=olympe.dc.va.DESTINATION;return b===olympe.dc.va.ORIGIN||b===e?new olympe.dc.Ra.Relation(a,b):new olympe.dc.Ra.Relation(a,d,b,c)};olympe.dc.Tx=function(a){return a.ac()};olympe.dc.ib={};olympe.dc.ib.Fn=a=>'string'===typeof a||'number'===typeof a||'boolean'===typeof a||a instanceof String?olympe.C.yb(a):a instanceof olympe.C.Sa?a:null;olympe.dc.ib.Cn=a=>'boolean'===typeof a||a instanceof Boolean?olympe.C.Sb(a):a instanceof olympe.C.da?a:null;olympe.dc.ib.En=a=>'number'===typeof a||a instanceof Number?olympe.C.sa(a):'string'===typeof a||a instanceof String?olympe.C.sa(Number.parseFloat(a.valueOf())):a instanceof olympe.C.$?a:null;
|
|
972
972
|
olympe.dc.ib.Dn=a=>'number'===typeof a||a instanceof Number?nc(a.valueOf()):'string'===typeof a||a instanceof String?new olympe.C.eb(new Date(a.valueOf().valueOf())):a instanceof Date?new olympe.C.eb(a):a instanceof olympe.C.eb?a:null;olympe.dc.ib.Ms=function(a){return a instanceof olympe.C.Color?a:'string'===typeof a||a instanceof String?rc(a.valueOf()):null};olympe.dc.ib.Ns=a=>a instanceof olympe.dc.CloudObject?a:a instanceof olympe.dc.wc?olympe.dc.CloudObject.get(a.tag):null;
|
|
973
973
|
olympe.dc.ib.uj=a=>a instanceof olympe.dc.wc?olympe.dc.CloudObject.get(a.tag):a;olympe.dc.ib.uc=a=>{a=a instanceof olympe.dc.wc?olympe.dc.CloudObject.get(a.tag):a;let b;return null!=(b=a instanceof olympe.dc.CloudObject?a.uc():a)?b:null};
|
|
974
974
|
olympe.dc.ib.py=a=>{switch(a){case olympe.C.da:return olympe.dc.ib.Cn;case olympe.C.Sa:return olympe.dc.ib.Fn;case olympe.C.$:return olympe.dc.ib.En;case olympe.C.eb:return olympe.dc.ib.Dn;case olympe.C.Color:return olympe.dc.ib.Ms;case olympe.dc.CloudObject:return olympe.dc.ib.Ns;default:return olympe.dc.ib.uj}};olympe.dc.kc={};olympe.dc.yf=class{ka(){}F(){}compare(){}H(){}fa(){}toString(){}};function pm(a){let b=null;for(a=[...a.aa];null===b&&0<a.length;)b=a.pop().Mb();return b}function qm(a,b){a.N()||(a=`Calling "${b}" on subscription with id ${a.T()} while it is not ready (thus no data is available).`+'This call should be made within an onReady callback. You can also consider to use Queries API instead of ListDefs (which are deprecated)',olympe.ha.Wa('dc').warn(a))}
|
|
@@ -997,9 +997,9 @@ function zm(a,b,c,d,e){const f=[b.ce()],g=l=>l instanceof olympe.dc.aa.Mf;let h;
|
|
|
997
997
|
function Am(a,b,c,d,e){a.G.debug('CoverageProcessor: [ID:',c,'] - checking coverage of remote query over',b.length,'paths.');const f=olympe.C.Za(),g=new olympe.async.Hk(f);b.forEach(h=>{g.add((k,l)=>{let n=!1;Ei(a.H,h,f,olympe.dc.Ia.SELF,olympe.dc.la.oc.xf,{Cc:e}).subscribe(rxjs.Subscriber.create(()=>{n||(n=!0,f.run(k))},p=>f.run(()=>l(`The query ${c} is not covered by an existing graphdef, `+`and the specific graphdef id ${h.T()} has encountered an error: ${p}`))))})});qd(g,(h,k)=>d(k));g.start()}
|
|
998
998
|
function xm(a,b,c){const d=new olympe.dc.lc.Wj;let e=!1;const f=olympe.C.Za(),g=b.sh(),h=[];h[g?g.length:0]=(k,l,n,p)=>{f.kd()||f.fb()||(k?b.uh(n)?a.G.warn('Adding the same index twice (should never happen) for sub #',b.T(),', index #',n,', tag #',l):(a.G.debug('ListProcessor: [ID:',b.T(),'] - Adding Instance',l,'to the subscription'),b.Dd(n,l)):(a.G.debug('ListProcessor: [ID:',b.T(),'] - Removing Instance',l,'from the subscription'),b.Rf(n)),e||(Bm(c,()=>{p.rg();ym(c)}),f.run(()=>p.te().Ag(b.Ic.bind(b))),
|
|
999
999
|
e=!0),Cm(c,n))};if(null!==g)for(let k=g.length-1;0<=k;k--)h[k]=g[k].j(f,c,h[k+1]);return(k,l)=>{const n=b.T();c.register(n,null);const p=d.j(k,l,n,null);if(null!==p)h[0](k,l,n,Dm(p,k,l,n))}}
|
|
1000
|
-
olympe.dc.kc.Jv=class{constructor(a,b,c,d,e,f){this.G=a;this.db=b;this.D=f||e;this.H=d;this.j=new Map;this.F=new olympe.C.
|
|
1000
|
+
olympe.dc.kc.Jv=class{constructor(a,b,c,d,e,f){this.G=a;this.db=b;this.D=f||e;this.H=d;this.j=new Map;this.F=new olympe.C.Zb('Legacy ListDef processor')}process(a,b){const c=a.T();var d=this.j.get(c);d||(d=new olympe.dc.kc.Qw(a),this.j.set(c,d));d.counter++;Em(d)?this.G.debug('ListProcessor: [ID:',c,'] - id already processed'):(this.G.debug('ListProcessor: [ID:',c,'] - NOT processed yet.'),d=a.ff(),b||this.D&&d===olympe.dc.Ia.SERVER||d===olympe.dc.Ia.SELF?(this.G.debug('QueryMGR: [ID:',c,'] - Local subscription, no need for coverage check, booting subscription '),
|
|
1001
1001
|
wm(this,a)):zm(this,a,d,e=>{e?this.G.error(e):wm(this,a)},b))}};function Fm(a){return olympe.C.gb(a)?'Node#'+a.Ba.T():String(a)}function Gm(a,b){return olympe.C.gb(b)?'{"c":"Parameter","v":"'+a.add(b)+'"}':JSON.stringify(b)}
|
|
1002
|
-
olympe.dc.query.iw=class{constructor(){this.j=0;this.values=null}add(a){let b;b=olympe.C.gb(a)?'n'+a.Ba.T():'p'+ ++this.j;null===this.values&&(this.values={});this.values[b]=a;return b}get(a){return this.values[a]}clear(){const a=this.values;if(null!==a)for(let b=Object.keys(a),c=b.length,d=0;d<c;d++)delete a[b[d]]}forEach(a){const b=this.values;if(null!==b)for(let c=Object.keys(b),d=c.length,e=0;e<d;e++)a(b[c[e]],c[e])}};olympe.dc.za=class{ka(){}j(){}D(){}fa(){}toString(){}};olympe.dc.kc.Subscription=class a extends olympe.C.Uj{constructor(b,c,d,e){super(olympe.dc.CloudObject,new olympe.C.
|
|
1002
|
+
olympe.dc.query.iw=class{constructor(){this.j=0;this.values=null}add(a){let b;b=olympe.C.gb(a)?'n'+a.Ba.T():'p'+ ++this.j;null===this.values&&(this.values={});this.values[b]=a;return b}get(a){return this.values[a]}clear(){const a=this.values;if(null!==a)for(let b=Object.keys(a),c=b.length,d=0;d<c;d++)delete a[b[d]]}forEach(a){const b=this.values;if(null!==b)for(let c=Object.keys(b),d=c.length,e=0;e<d;e++)a(b[c[e]],c[e])}};olympe.dc.za=class{ka(){}j(){}D(){}fa(){}toString(){}};olympe.dc.kc.Subscription=class a extends olympe.C.Uj{constructor(b,c,d,e){super(olympe.dc.CloudObject,new olympe.C.Zb('context subscription '+b,e));this.id=b;this.jd=c;this.aa=d||null;this.state=this.H.run(()=>olympe.C.ge(olympe.dc.kc.Subscription.j.INIT));this.Hc=!1;this.X=this.Vb=null}static F(b,c,d){let e;try{e=b;if(c)for(let f=0,g=c.length;f<g;f++)e+='|'+c[f].fa(d);else e+='|null';e=olympe.U.sb(e)}catch(f){e=olympe.U.Mc()}return e}T(){return this.id}ce(){return this.jd}sh(){return this.aa}ff(){const b=
|
|
1003
1003
|
olympe.dc.fe(),c=olympe.C.Qa(this.ce());let d;return olympe.dc.CloudObject.instancesRel.Fa(null==(d=this.aa)?void 0:d[0])?b.fromModel(c):b.re(c)}Qf(){const b=olympe.C.Qa(this.state);return b&&b.valueOf()>=olympe.dc.kc.Subscription.j.gs}ih(){if(this.state.Ba.fb())throw Error(`Cannot set destroyed subscription '${this.id}' as subscribed`);const b=this.Vb;this.Vb=null;for(let c in b)if(Object.prototype.hasOwnProperty.call(b,c))b[c](this);kc(this.state,olympe.C.ge(olympe.dc.kc.Subscription.j.gs))}xd(){return olympe.C.ua([this.state],
|
|
1004
1004
|
()=>{},olympe.C.da)}N(){const b=this.state.Ba.Fb;return b&&b.valueOf()>=olympe.dc.kc.Subscription.j.Yh}ld(b,c){this.N()?b(this):(null===this.X&&(this.X=new Map),void 0===c&&(c=olympe.U.Mc()),this.X.set(c,olympe.C.Za().tc(b)));return c||''}Cl(b){null!==this.X&&b&&this.X.delete(b)}wb(){const b=olympe.dc.kc.Subscription.j.Yh;if(!this.state.Ba.fb()&&olympe.C.Qa(this.state)!==b&&(this.Of(),kc(this.state,b),null!==this.X)){for(const c of this.X.values())c(this);this.X=null}}onDestroy(b){this.H.onDestroy(b)}release(){this.H.destroy()}Ic(b){if(!this.state.Ba.fb()){for(let c=
|
|
1005
1005
|
0,d=b.length;c<d;c++)this.vn(b[c],c);if(this.N())this.Of();else{this.Hc=b=!0;for(let c in this.D)if(Object.prototype.hasOwnProperty.call(this.D,c)&&!Object.prototype.hasOwnProperty.call(this.values,c)){b=!1;break}b&&this.wb()}}}Dd(b,c){if(!this.state.Ba.fb()&&(this.fl(b,olympe.dc.CloudObject.get(c)),b=this.N(),this.Hc&&!b)){b=!0;for(let d in this.D)if(Object.prototype.hasOwnProperty.call(this.D,d)&&!Object.prototype.hasOwnProperty.call(this.values,d)){b=!1;break}b&&this.wb()}}Rf(b){this.state.Ba.fb()||
|
|
@@ -1043,7 +1043,7 @@ this.ka()+'","a":['+Gm(a,this.start)+','+Gm(a,this.D)+']}'}toString(){return`Lim
|
|
|
1043
1043
|
olympe.dc.aa.xk=class{constructor(a,b){this.direction=b||olympe.dc.va.DESTINATION;this.pb=a.map(c=>new olympe.dc.Ra.Relation(c,this.direction))}Mb(){return olympe.dc.CloudObject}ka(){return R(olympe.dc.aa.xk)}La(){return this.direction}j(a,b,c){const d=olympe.dc.ga(),e=(f,g,h,k)=>U(d,f,k,(l,n)=>{var p=k.W();p=olympe.U.sb(g+k.La()+p+n,20);const q=Dm(h,l,n,p);l&&b.register(p,g,f,k.W(),k.La());c(l,n,p,q)},g);return(f,g,h,k)=>{f?this.pb.forEach(l=>{$m(b,h,g,l.W(),l.La());e(g,h,k,l)}):this.pb.forEach(l=>
|
|
1044
1044
|
{d.D(g,l,h)})}}fa(){return'{"c":"'+this.ka()+'","a":['+JSON.stringify(jn(this))+',"'+this.direction+'"]}'}toString(){return'MultiRelated('+this.La()+'['+jn(this).join(',')+'])'}};Q('olympe.dc.transformers.MultiRelated',olympe.dc.aa.xk);olympe.dc.aa.xk.ya=[olympe.dc.Lf];olympe.dc.aa.Me=class extends olympe.dc.Ra.Relation{constructor(a,b=olympe.dc.va.DESTINATION,c=1,d=-1){super(a,b);this.F=c;this.D=d}Mb(){return jg(this)}ka(){return R(olympe.dc.aa.Me)}j(a,b,c){const d=olympe.dc.ga(),e=Object.create(null),f=olympe.dc.va.ORIGIN,g=olympe.dc.va.DESTINATION,h=this.W(),k=this.La(),l=(p,q,r)=>{if(!(0<=this.D&&p>=this.D)){var t=d.cb(r,this);p+=1;for(let v=0,x=t.length;v<x;v++){if(void 0!==e[t[v]]||r===t[v])continue;const y=olympe.U.sb(q+k+(h+'_'+p)+t[v],20);b.register(y,
|
|
1045
1045
|
q,r,h,k||g);null===k&&b.register(y,q,r,h,f)}}},n=(p,q,r,t,v,x)=>{v&&!b.D&&l(p,t,x);p>=this.F?c(v,x,t,Dm(r,v,x,t)):$m(b,t,x,h,k);0<=this.D&&p>=this.D||(v?e[x]||(e[x]=!0,U(d,x,this,(y,z)=>{const A=p+1,K=olympe.U.sb(t+k+(h+'_'+A)+z,20);n(A,x,r,K,y,z)},t)):(d.D(x,this,t),delete e[x]))};return(p,q,r,t)=>n(0,null,t,r,p,q)}fa(){return'{"c":"'+this.ka()+'","a":["'+this.W()+'","'+this.La()+'",'+this.F+','+this.D+']}'}toString(){return'RecursiveRelated('+this.La()+this.W()+'['+this.F+'..'+this.D+'])'}};
|
|
1046
|
-
Q('olympe.dc.transformers.RecursiveRelated',olympe.dc.aa.Me);olympe.dc.aa.Me.ya=[olympe.dc.Lf];olympe.dc.aa.af=class extends olympe.dc.Ra.Relation{constructor(a,b){super(a,b||olympe.dc.va.DESTINATION)}Mb(){return jg(this)}ka(){return R(olympe.dc.aa.af)}
|
|
1046
|
+
Q('olympe.dc.transformers.RecursiveRelated',olympe.dc.aa.Me);olympe.dc.aa.Me.ya=[olympe.dc.Lf];olympe.dc.aa.af=class extends olympe.dc.Ra.Relation{constructor(a,b){super(a,b||olympe.dc.va.DESTINATION)}Mb(){return jg(this)}ka(){return R(olympe.dc.aa.af)}ac(){return new olympe.dc.aa.af(this.tag,this.direction===olympe.dc.va.DESTINATION?olympe.dc.va.ORIGIN:olympe.dc.va.DESTINATION)}j(a,b,c){const d=olympe.dc.ga(),e=this.W(),f=this.La();return(g,h,k,l)=>{$m(b,k,h,e,f);g?U(d,h,this,(n,p)=>{const q=olympe.U.sb(k+f+e+p,20),r=Dm(l,n,p,q);n&&b.register(q,k,h,e,f);c(n,p,q,r)},k):d.D(h,this,k)}}fa(){return'{"c":"'+
|
|
1047
1047
|
this.ka()+'","a":["'+this.W()+'","'+this.La()+'"]}'}toString(){return'Related('+this.La()+this.W()+')'}};Q('olympe.dc.transformers.Related',olympe.dc.aa.af);olympe.dc.aa.af.ya=[olympe.dc.Lf];olympe.dc.aa.dh=class{constructor(a,b){this.Hb=a;this.D=void 0===b?!0:!!b}Mb(){return null}ka(){return R(olympe.dc.aa.dh)}mh(){return this.Hb}F(){return[this.Hb.H()]}j(a,b,c){const d=new olympe.dc.lc.ls(a.tc(this.D?this.Hb.compare.bind(this.Hb):(e,f)=>this.Hb.compare(f,e)));return(e,f,g)=>{var h=e?this.Hb.F(a,f):void 0;h=d.j(e,f,g,h);c(e,f,g,h)}}fa(a){return'{"c":"'+this.ka()+'","a":['+this.Hb.fa(a)+','+JSON.stringify(this.D)+']}'}toString(){return'Sort('+this.Hb.toString()+','+JSON.stringify(this.D)+
|
|
1048
1048
|
')'}};Q('olympe.dc.transformers.Sort',olympe.dc.aa.dh);olympe.dc.aa.dh.ya=[olympe.dc.Lf,olympe.dc.yr];function kn(a,b,c,d,e,f){function g(n,p){if(l)for(var q=l.length-1;0<=q;q--)f=l[q].j(b,e,f);e.register(h,null);q=d.j(n,p,c,null);f(n,p,h,Dm(q,n,p,h))}const h=olympe.U.Mc(),k=olympe.dc.ga(),l=a.aa;b.run(()=>olympe.C.Yc([a.D],n=>{ln(k,n,g,h);void 0===k.model(n)&&ym(e)}))}function ln(a,b,c,d){const e=b&&b.valueOf();e&&(Qf(a,e,c,d),olympe.C.Za().Yd(()=>Of(a,e,d)))}
|
|
1049
1049
|
olympe.dc.aa.Mf=class{constructor(a,b){this.aa=this.D=null;a instanceof olympe.dc.Aa?(this.D=a.ce(),this.aa=a.Dm()):(this.D=a,b&&(this.aa=b))}Mb(){return null}ka(){return R(olympe.dc.aa.Mf)||''}sh(){return this.aa}ce(){return this.D}j(a,b,c){const d=new olympe.dc.lc.Jm,e=new olympe.dc.lc.Wj;let f=[],g=[],h=!1,k=!1;const l=bn(b),n=bn(b);en(b,()=>{const p=f.concat(g);0<p.length?b.D||(b.j.j=p[p.length-1]):fn(b);Rm(d,p,0,p.length,c)});an(b,n);kn(this,a,this.D,e,b,(p,q,r,t)=>{const v=olympe.C.Za();v.kd()||
|
|
@@ -1075,10 +1075,10 @@ olympe.V.run([olympe.dc.db.P.Ea,olympe.dc.transaction.P.Ea,olympe.dc.P.rq,olympe
|
|
|
1075
1075
|
olympe.dm.Vd.D=gg('014831d95f83635090ea','ADMIN_USERS_ROLE');olympe.dm.Vd.prototype.ka.K=olympe.C.J.D;olympe.dm.Vd.prototype.j.K=olympe.C.J.D;olympe.dm.Vd.prototype.D.K=olympe.C.J.N;olympe.dm.Ol={NONE:0,iB:1,pu:2,jB:4,fB:8,hB:16,gB:31,GC:32,DC:64,HC:128,EC:256,$v:512,FC:992,XB:1023};olympe.dm.User=class extends olympe.dc.CloudObject{Iy(){return this.Sn()}ka(){return this.Sn()}Sn(){return this.xb(olympe.dm.User.loginProp)}mv(){return this.xb(olympe.dm.User.D)}lv(){return olympe.C.Sa.EMPTY}cz(){return this.xb(olympe.dm.User.saltProp)}lz(){return this.xb(olympe.dm.User.verifierProp)}az(){return this.cb(olympe.dm.User.F,olympe.dm.Vd)}};olympe.dm.User.O=olympe.dc.oa.j('ff021000000000000003',olympe.dm.User);olympe.dm.User.loginProp=olympe.dm.User.O.ja('ff023000000000000001');
|
|
1076
1076
|
w('olympe.dm.User.loginProp',olympe.dm.User.loginProp);olympe.dm.User.D=olympe.dm.User.O.ja('ff023000000000000002');olympe.dm.User.R=olympe.dm.User.O.ja('ff023000000000000003');olympe.dm.User.saltProp=olympe.dm.User.O.ja('ff023000000000000004');w('olympe.dm.User.saltProp',olympe.dm.User.saltProp);olympe.dm.User.verifierProp=olympe.dm.User.O.ja('ff023000000000000005');w('olympe.dm.User.verifierProp',olympe.dm.User.verifierProp);olympe.dm.User.N=olympe.dm.User.O.ja('ff023000000000000020');
|
|
1077
1077
|
olympe.dm.User.SAMLnameIdProp=olympe.dm.User.O.ja('ff023000000000000036');w('olympe.dm.User.SAMLnameIdProp',olympe.dm.User.SAMLnameIdProp);olympe.dm.User.F=S(olympe.dm.User.O,olympe.dm.Vd.j);olympe.dm.User.X=olympe.dm.User.O.ta('ff022000000000000002');olympe.dm.User.j=gg('014831d95fd7d12b8568','ADMIN_USER');olympe.dm.User.H=gg('0163d9653067b6237f62','GUEST_USER');m=olympe.dm.User.prototype;m.Iy.K=olympe.C.J.D;m.ka.K=olympe.C.J.D;m.Sn.K=olympe.C.J.D;m.mv.K=olympe.C.J.D;m.lv.K=olympe.C.J.D;m.cz.K=olympe.C.J.D;
|
|
1078
|
-
m.lz.K=olympe.C.J.D;m.az.K=new olympe.C.J(()=>olympe.dc.Aa,[]);olympe.dm.hg=class extends olympe.dc.CloudObject{Z(){return this.On()}Ha(){return this.xb(olympe.dm.hg.wa)}};olympe.dm.hg.O=olympe.dc.oa.j('01621fb84e3300000000',olympe.dm.hg);olympe.dm.hg.wa=olympe.dm.hg.O.ja('01609de3f292e3c2c6ff');olympe.dm.hg.prototype.Z.K=new olympe.C.J(()=>olympe.C.wd,[]);olympe.dm.hg.prototype.Ha.K=olympe.C.J.D;olympe.dm.BrickMetadata=class extends olympe.dm.hg{mz(){return this.xb(olympe.dm.BrickMetadata.Hc)}Lc(){return this.xb(olympe.dm.BrickMetadata.ba)}getType(){return this.xb(olympe.dm.BrickMetadata.Vb)}xz(){return this.ph(olympe.dm.BrickMetadata.wb)}xe(){return null}sy(){return this.cb(olympe.sc.ui.Nx.Comment.ZE
|
|
1078
|
+
m.lz.K=olympe.C.J.D;m.az.K=new olympe.C.J(()=>olympe.dc.Aa,[]);olympe.dm.hg=class extends olympe.dc.CloudObject{Z(){return this.On()}Ha(){return this.xb(olympe.dm.hg.wa)}};olympe.dm.hg.O=olympe.dc.oa.j('01621fb84e3300000000',olympe.dm.hg);olympe.dm.hg.wa=olympe.dm.hg.O.ja('01609de3f292e3c2c6ff');olympe.dm.hg.prototype.Z.K=new olympe.C.J(()=>olympe.C.wd,[]);olympe.dm.hg.prototype.Ha.K=olympe.C.J.D;olympe.dm.BrickMetadata=class extends olympe.dm.hg{mz(){return this.xb(olympe.dm.BrickMetadata.Hc)}Lc(){return this.xb(olympe.dm.BrickMetadata.ba)}getType(){return this.xb(olympe.dm.BrickMetadata.Vb)}xz(){return this.ph(olympe.dm.BrickMetadata.wb)}xe(){return null}sy(){return this.cb(olympe.sc.ui.Nx.Comment.ZE.ac(),olympe.sc.ui.Nx.Comment)}ql(){return this.wg(olympe.dm.BrickMetadata.Ha).Dc().ql()}};olympe.dm.BrickMetadata.O=lg(olympe.dc.oa.j('01621fb84e3500000000',olympe.dm.BrickMetadata));
|
|
1079
1079
|
olympe.dm.BrickMetadata.Hc=olympe.dm.BrickMetadata.O.ja('01621fb84e320000f001');olympe.dm.BrickMetadata.ba=olympe.dm.BrickMetadata.O.ja('01703376c4a81c0e9d94');olympe.dm.BrickMetadata.Vb=olympe.dm.BrickMetadata.O.ja('01703376c4a81c0e9d00');olympe.dm.BrickMetadata.wb=olympe.dm.BrickMetadata.O.ja('01703376c4a81c0eaea5');olympe.dm.BrickMetadata.Ha=olympe.dm.BrickMetadata.O.ta('0161ae97622bb21f335b');olympe.dm.BrickMetadata.me={PC:'private',RC:'public'};
|
|
1080
1080
|
olympe.dm.BrickMetadata.Ub={qB:'experimental',gD:'stable',dB:'deprecated'};olympe.dm.BrickMetadata.Dd={QA:'business',CD:'technical'};m=olympe.dm.BrickMetadata.prototype;m.mz.K=olympe.C.J.D;m.Lc.K=olympe.C.J.D;m.getType.K=olympe.C.J.D;m.xz.K=olympe.C.J.N;m.xe.K=new olympe.C.J(()=>String,[]);m.sy.K=new olympe.C.J(()=>olympe.dc.Aa,[]);m.ql.K=olympe.C.J.R;function xj(a,b){b=b.startsWith('data.')?b.substring(5):b;let c,d;return null!=(d=null!=(c=olympe.V.getParameter(`${'data.'}${a}.${b}`))?c:olympe.V.getParameter(`${'data.'}${b}`))?d:olympe.V.getParameter(`${olympe.dc.sources.Oh.fw}${b}`)}
|
|
1081
|
-
function Rj(a,b){const c=a.query().bb(olympe.dm.Ed.j
|
|
1081
|
+
function Rj(a,b){const c=a.query().bb(olympe.dm.Ed.j.ac()).bb(olympe.dm.Ed.D);a=a.query().bb(olympe.dm.hb.D.ac()).vg(olympe.dm.hb.F,!0).bb(olympe.sc.Bc.j.ac());const d=e=>e.oe().vg(olympe.dc.CloudObject.extendRel,!0).bb(olympe.dc.CloudObject.Mj,!0).bb(olympe.dm.Relation.destinationModelRel).back(2).bb(olympe.dc.CloudObject.propertyRel,!0).bb(olympe.dm.Property.typeRel).observe(b);return rxjs.combineLatest([d(c),d(a)]).pipe(rxjs.operators.map(([e,...f])=>e.concat(...f)))}
|
|
1082
1082
|
function rk(a,b){return a.observe(b,olympe.dm.DataSource.Os).pipe(rxjs.operators.map(()=>a.Sf(olympe.dc.sources.Config.We)),rxjs.operators.distinctUntilChanged())}
|
|
1083
1083
|
olympe.dm.DataSource=class extends olympe.dc.CloudObject{constructor(a,b,c){super(a,b);this.Jb=c;this.Qs=new Map([[olympe.dc.sources.Config.Wm,olympe.dm.DataSource.dA],[olympe.dc.sources.Config.We,olympe.dm.DataSource.Os],[olympe.dc.sources.Config.dn,olympe.dm.DataSource.kA]])}gt(){return this.name().toLowerCase().replace(/\W/g,'_')}T(){return this.tag===olympe.dm.DataSource.SERVER?olympe.dc.Ia.SERVER:this.tag}Sf(a){const b=a.startsWith('data.')?a.split('.')[1]:a,c=`${'data.'}${b}`;let d,e;return null!=
|
|
1084
1084
|
(e=null!=(d=olympe.V.getParameter(`${'data.'}${this.gt()}.${b}`))?d:xj(this.W(),a))?e:this.Qs.has(c)?this.get(this.Qs.get(c)):null}Lc(){const a=this;return u(function*(){const b=olympe.dm.DataSource.pc.su,c=olympe.dm.DataSource.pc.Bb,d=new olympe.dc.Request(olympe.dc.Request.j.pc,a.T());return a.Jb.request(d).then(e=>{let f;const g=null!=(f=null==e?void 0:e.s)?f:c;(e=null==e?void 0:e.r)&&olympe.ha.Wa('dc').warn(`Source ${a.name()} (${a.T()}) has encountered issues: ${e}`);return g}).catch(e=>e instanceof
|
|
@@ -1098,7 +1098,7 @@ null==d||d(a);return Promise.reject(Error(a))}rename(a,b){const c=b&&olympe.C.Za
|
|
|
1098
1098
|
olympe.dm.File.prototype.saveAs=olympe.dm.File.prototype.Dt;olympe.dm.File.prototype.getContentUrl=olympe.dm.File.prototype.ml;olympe.dm.File.prototype.getContentAsString=olympe.dm.File.prototype.Nn;olympe.dm.File.prototype.getContentAsBinary=olympe.dm.File.prototype.ll;olympe.dm.File.O=olympe.dc.oa.j('ff021000000000000030',olympe.dm.File,olympe.dc.P.jk,olympe.net.P.Ea,olympe.U.P.Eg);olympe.dm.File.nameProp=olympe.dm.File.O.ja('ff023000000000000050');w('olympe.dm.File.nameProp',olympe.dm.File.nameProp);
|
|
1099
1099
|
olympe.dm.File.fileNameProp=olympe.dm.File.O.ja('ff023000000000000050');w('olympe.dm.File.fileNameProp',olympe.dm.File.fileNameProp);olympe.dm.File.creationDateProp=olympe.dm.File.O.ja('ff023000000000000051');w('olympe.dm.File.creationDateProp',olympe.dm.File.creationDateProp);olympe.dm.File.modificationDateProp=olympe.dm.File.O.ja('ff023000000000000055');w('olympe.dm.File.modificationDateProp',olympe.dm.File.modificationDateProp);olympe.dm.File.mimeTypeProp=olympe.dm.File.O.ja('ff023000000000000052');
|
|
1100
1100
|
w('olympe.dm.File.mimeTypeProp',olympe.dm.File.mimeTypeProp);olympe.dm.File.urlProp=olympe.dm.File.O.ja('ff023000000000000053');w('olympe.dm.File.urlProp',olympe.dm.File.urlProp);olympe.dm.File.j=olympe.dm.File.O.ja('ff023000000000000054');olympe.dm.File.O.j=olympe.dm.File.D.bind(null,olympe.dm.File);olympe.dm.File.N='application/data';olympe.dm.File.ya=[olympe.C.File];m=olympe.dm.File.prototype;m.ht.K=olympe.C.J.D;m.ll.K=olympe.C.J.j;m.Nn.K=olympe.C.J.j;m.ml.K=olympe.C.J.j;m.rename.K=olympe.C.J.j;
|
|
1101
|
-
m.Bq.K=olympe.C.J.D;m.Aq.K=olympe.C.J.D;m.xy.K=new olympe.C.J(()=>olympe.C.eb,[]);m.Ry.K=new olympe.C.J(()=>olympe.C.eb,[]);m.wz.K=olympe.C.J.N;olympe.dm.Rd=class extends olympe.dc.CloudObject{j(){return this.xb(olympe.dm.Rd.D)}F(){return this.Ad(olympe.dm.Rd.F)}D(){return this.cb(olympe.dm.Rd.j,olympe.dm.Module)}};olympe.dm.Rd.O=olympe.dc.oa.j('ff021000000000000041',olympe.dm.Rd);olympe.dm.Rd.D=olympe.dm.Rd.O.ja('ff023000000000000047');olympe.dm.Rd.F=olympe.dm.Rd.O.ja('ff023000000000000048');olympe.dm.Rd.j=olympe.dm.Module.j
|
|
1101
|
+
m.Bq.K=olympe.C.J.D;m.Aq.K=olympe.C.J.D;m.xy.K=new olympe.C.J(()=>olympe.C.eb,[]);m.Ry.K=new olympe.C.J(()=>olympe.C.eb,[]);m.wz.K=olympe.C.J.N;olympe.dm.Rd=class extends olympe.dc.CloudObject{j(){return this.xb(olympe.dm.Rd.D)}F(){return this.Ad(olympe.dm.Rd.F)}D(){return this.cb(olympe.dm.Rd.j,olympe.dm.Module)}};olympe.dm.Rd.O=olympe.dc.oa.j('ff021000000000000041',olympe.dm.Rd);olympe.dm.Rd.D=olympe.dm.Rd.O.ja('ff023000000000000047');olympe.dm.Rd.F=olympe.dm.Rd.O.ja('ff023000000000000048');olympe.dm.Rd.j=olympe.dm.Module.j.ac();olympe.dm.Rd.prototype.j.K=olympe.C.J.D;olympe.dm.Rd.prototype.F.K=olympe.C.J.F;
|
|
1102
1102
|
olympe.dm.Rd.prototype.D.K=new olympe.C.J(()=>olympe.dc.Aa,[]);olympe.dm.hb=class extends olympe.dm.Tc{j(){return this.cb(olympe.dm.Kb.j,olympe.dm.Kb)}F(){return this.xb(olympe.dm.hb.X)}R(){return this.xb(olympe.dm.hb.lb)}D(){return this.cb(olympe.dm.hb.F,olympe.dm.hb)}};olympe.dm.hb.O=olympe.dc.oa.j('0163d9594700fcf61e54',olympe.dm.hb);olympe.dm.hb.X=olympe.dm.hb.O.ja('017869c7d2833c9492c1');olympe.dm.hb.zl=olympe.dm.hb.O.ja('017869c7d2833c9492c2');olympe.dm.hb.Re=olympe.dm.hb.O.ja('017869c7d2833c9492c3');olympe.dm.hb.lb=olympe.dm.hb.O.ja('017869c80bb9929c76d0');
|
|
1103
1103
|
olympe.dm.hb.Ua=olympe.dm.hb.O.ta('ff02200000000000002a');olympe.dm.hb.F=olympe.dm.hb.O.ta('ff02200000000000002b');olympe.dm.hb.Qf=S(olympe.dm.hb.O,olympe.dm.hb.F);olympe.dm.hb.D=olympe.dm.hb.O.ta('ff02200000000000002c');olympe.dm.hb.Rf=olympe.dm.hb.O.ta('017e9c412e2b944bc48f');olympe.dm.hb.ff=olympe.dm.hb.O.ta('017e9c412e2b944bd590');olympe.dm.hb.wl=olympe.dm.hb.O.ta('017e9c416872a89d3415');olympe.dm.hb.ul=olympe.dm.hb.O.ta('017ebf8fe5c506662098');S(olympe.dc.CloudObject.O,olympe.dm.hb.Ua);
|
|
1104
1104
|
olympe.dm.hb.xd=gg('100000000000000000dd','PRIMORDIAL');olympe.dm.hb.prototype.j.K=new olympe.C.J(()=>olympe.dc.Aa,[]);olympe.dm.hb.prototype.F.K=olympe.C.J.D;olympe.dm.hb.prototype.R.K=olympe.C.J.D;olympe.dm.hb.prototype.D.K=new olympe.C.J(()=>olympe.dc.Aa,[]);olympe.dm.Property=class extends olympe.dc.CloudObject{j(){return this.Vc(olympe.dm.Property.definingModelRel,olympe.dc.CloudObject)}getType(){return this.Vc(olympe.dm.Property.typeRel,olympe.dc.CloudObject)}D(){return this.wg(olympe.dm.Property.typeRel).Dc()}Zc(){return this.j().ka().Ps(this.ka())}};olympe.dm.Property.O=olympe.dc.oa.j('ff021000000000000005',olympe.dm.Property);olympe.dm.Property.definingModelRel=S(olympe.dm.Property.O,olympe.dc.CloudObject.propertyRel);
|
|
@@ -1109,9 +1109,9 @@ olympe.dm.Relation.H={CC:3,Yv:4,nC:5,mC:6};olympe.dm.Relation.N=olympe.dm.Ol.$v+
|
|
|
1109
1109
|
olympe.dm.Ke.O=olympe.dc.oa.j('ff021000000000000019',olympe.dm.Ke);olympe.dm.String=class extends olympe.dm.Ke{getValue(){return this.xb(olympe.dm.String.valueProp)}uc(){return this.get(olympe.dm.String.valueProp)}toString(){let a;return null!=(a=this.get(olympe.dm.String.valueProp))?a:''}};olympe.dm.String.O=olympe.dc.oa.j('ff021000000000000011',olympe.dm.String);olympe.dm.String.valueProp=olympe.dm.String.O.ja('ff023000000000000026');w('olympe.dm.String.valueProp',olympe.dm.String.valueProp);olympe.dm.String.prototype.getValue.K=olympe.C.J.D;
|
|
1110
1110
|
olympe.dm.String.prototype.toString.K=olympe.C.J.j;olympe.dm.Boolean=class extends olympe.dm.Ke{getValue(){return this.ph(olympe.dm.Boolean.valueProp)}uc(){return this.get(olympe.dm.Boolean.valueProp)}};olympe.dm.Boolean.O=olympe.dc.oa.j('ff021000000000000012',olympe.dm.Boolean);olympe.dm.Boolean.valueProp=olympe.dm.Boolean.O.ja('ff023000000000000027');w('olympe.dm.Boolean.valueProp',olympe.dm.Boolean.valueProp);olympe.dm.Boolean.prototype.getValue.K=olympe.C.J.N;olympe.dm.Color=class extends olympe.dm.Ke{getValue(){return this.kt()}uc(){return this.get(olympe.dm.Color.valueProp)}};olympe.dm.Color.O=olympe.dc.oa.j('ff021000000000000017',olympe.dm.Color);olympe.dm.Color.valueProp=olympe.dm.Color.O.ja('ff023000000000000032');w('olympe.dm.Color.valueProp',olympe.dm.Color.valueProp);olympe.dm.Color.prototype.getValue.K=new olympe.C.J(()=>olympe.C.Color,[]);olympe.dm.DateTime=class extends olympe.dm.Ke{getValue(){return this.Ej(olympe.dm.DateTime.valueProp)}uc(){return this.get(olympe.dm.DateTime.valueProp)}};olympe.dm.DateTime.O=olympe.dc.oa.j('ff021000000000000014',olympe.dm.DateTime);olympe.dm.DateTime.valueProp=olympe.dm.DateTime.O.ja('ff023000000000000029');w('olympe.dm.DateTime.valueProp',olympe.dm.DateTime.valueProp);olympe.dm.DateTime.prototype.getValue.K=new olympe.C.J(()=>olympe.C.eb,[]);olympe.dm.Enum=class extends olympe.dm.String{ka(){return olympe.C.ua([super.ka(),super.getValue()],(a,b)=>''!==a.valueOf()?a:b,olympe.C.Sa)}Kd(){return this.Ad(olympe.dm.Enum.rankProp)}};olympe.dm.Enum.O=olympe.dc.oa.j('016cdd861b32d56c81f7',olympe.dm.Enum);olympe.dm.Enum.rankProp=olympe.dm.Enum.O.ja('017a7690c915975ea995');olympe.dm.Enum.prototype.Kd.K=olympe.C.J.F;olympe.dm.ig=class extends olympe.dm.BrickMetadata{kz(){return this.bb(olympe.dc.CloudObject.instancesRel).Il(olympe.dm.Enum.rankProp,olympe.dc.query.Fk.ASC).Dc()}static create(a,b){b=a.create(olympe.dm.ig,(new Map).set(olympe.dc.CloudObject.nameProp,b));a.Oa(olympe.dc.CloudObject.extendRel,b,olympe.dm.Enum);return b}};olympe.dm.ig.create=olympe.dm.ig.create;olympe.dm.ig.prototype.getValues=olympe.dm.ig.prototype.kz;olympe.dm.ig.O=olympe.dc.oa.j('017a768f966fc08ebb98',olympe.dm.ig);olympe.dm.Number=class extends olympe.dm.Ke{getValue(){return this.Ad(olympe.dm.Number.valueProp)}uc(){return this.get(olympe.dm.Number.valueProp)}};olympe.dm.Number.O=olympe.dc.oa.j('ff021000000000000013',olympe.dm.Number);olympe.dm.Number.valueProp=olympe.dm.Number.O.ja('ff023000000000000028');w('olympe.dm.Number.valueProp',olympe.dm.Number.valueProp);olympe.dm.Number.prototype.getValue.K=olympe.C.J.F;olympe.sc={};olympe.sc.P={Ca:'sc.Logger',Ok:'sc.RootContext',Ne:'sc.Serializer'};olympe.sc.Config={ie:'sc.app',dg:'sc.debug',uo:'sc.autostartProfiler',np:'sc.debugger',qu:'sc.disableTheme',PRODUCTION:'sc.production',Zv:'sc.onstartTimeout',Gr:'sc.remoteActionTimeout'};
|
|
1111
1111
|
olympe.V.config(a=>{E(a,olympe.sc.Config.ie,'');E(a,olympe.sc.Config.dg,!1);E(a,olympe.sc.Config.qu,!0);E(a,olympe.sc.Config.PRODUCTION,!1);E(a,olympe.sc.Config.Zv,2E4);E(a,olympe.sc.Config.Gr,3E4);E(a,olympe.sc.Config.uo,!1);D(a,olympe.sc.P.Ca,[olympe.ha.P.Ea],b=>b.dd('sc'));C(a,olympe.sc.P.Ne,olympe.sc.cc,olympe.dc.db.P.Ea);Wa(a,olympe.dc.sources.P.Ne,olympe.sc.P.Ne);D(a,olympe.sc.P.Ok,[new olympe.V.ma(olympe.sc.Config.PRODUCTION)],b=>{const c=new olympe.sc.Gg('root','root',null);olympe.sc.fo=c;
|
|
1112
|
-
c.set(olympe.sc.xa.j.PRODUCTION,b);return new olympe.sc.xa(c)})},'olympe.sc');olympe.V.run([olympe.sc.P.Ok,new olympe.V.ma(olympe.L.Config.$l)],(a,b)=>{olympe.ee().ctx=a;olympe.ee().oVersion=()=>b});olympe.sc.Zn=()=>null!==olympe.dc.ga().Ib(void 0,olympe.sc.Runnable.j
|
|
1113
|
-
olympe.sc.rF=function(a){const b=olympe.dc.CloudObject.containsRel
|
|
1114
|
-
olympe.dm.Kb.ia));e=e.concat(a.qh(e[e.length-1],olympe.dm.Tc.R
|
|
1112
|
+
c.set(olympe.sc.xa.j.PRODUCTION,b);return new olympe.sc.xa(c)})},'olympe.sc');olympe.V.run([olympe.sc.P.Ok,new olympe.V.ma(olympe.L.Config.$l)],(a,b)=>{olympe.ee().ctx=a;olympe.ee().oVersion=()=>b});olympe.sc.Zn=()=>null!==olympe.dc.ga().Ib(void 0,olympe.sc.Runnable.j.ac());olympe.sc.$E=(a,b,c,d)=>{c=Y(Y(a.create(olympe.sc.hd),olympe.sc.hd.j,c||null),olympe.sc.hd.F,d||null);a.Oa(olympe.sc.hd.D,c,b);a.Oa(olympe.dc.CloudObject.containsRel,b,c);return c.W()};olympe.sc.uj=(a,b)=>{a=olympe.dc.ib.py(b)(a);return a instanceof olympe.sc.Ud?a.j():a};
|
|
1113
|
+
olympe.sc.rF=function(a){const b=olympe.dc.CloudObject.containsRel.ac();var c=olympe.dc.ea(a);if(void 0===c)return[];a=olympe.dc.ga();const d=[];let e=[];const f=new Set;for(;!a.Nb(c,olympe.dm.Kb);){f.add(c);const g=a.Ib(c,b);if(null===g)return olympe.ha.Wa('sc').warn(`Object ${c} has no container`),[];a.Nb(c,olympe.sc.logic.qb)||g===a.Ib(c,olympe.sc.Runnable.j.ac())||d.push(c);c=g;if(f.has(c))throw Error(`Instance ${c} (${a.name(c)}) is part of a cyclic contain pattern`);}e.push(c);e=e.concat(a.qh(e[0],
|
|
1114
|
+
olympe.dm.Kb.ia));e=e.concat(a.qh(e[e.length-1],olympe.dm.Tc.R.ac()));e=e.concat(a.qh(e[e.length-1],olympe.dm.Tc.N.ac()));return[...d,...e].reverse()};olympe.sc.sF=a=>{a=a&&a.valueOf()||'';return a.startsWith('image/')?olympe.sc.Lg:a.startsWith('video/')?olympe.sc.ei:a.startsWith('font/')||a.startsWith('application/font-woff')?olympe.sc.Rc:olympe.dm.File};
|
|
1115
1115
|
olympe.sc.qF=a=>a instanceof olympe.sc.Lg?'image/*':a instanceof olympe.sc.ei?'video/*':a instanceof olympe.sc.Rc?'font/*,application/font-woff':null;olympe.sc.$a={};function on(a,b){var c=olympe.sc.xa,d=a.state;a=a.Db();b=olympe.dc.ea(b);let e,f=null==(e=d.j)?void 0:e.get(b);if(!f){f=d.mi(a,void 0,b);for(d=f.getParent();d&&d.ia&&!d.id.startsWith('_');)d=d.getParent();let g;null==(g=d)||pn(g,b,f)}return new c(f)}function qn(a,b){let c,d;return(a=null!=(d=null==(c=a.state.j)?void 0:c.get(olympe.dc.ea(b)))?d:null)?new olympe.sc.xa(a):null}function rn(a){let b;return null!=(b=a.Qa(olympe.sc.xa.j.PRODUCTION))?b:!1}
|
|
1116
1116
|
olympe.sc.xa=class{constructor(a=olympe.sc.fo){this.state=a;this.G=olympe.ha.Wa('sc');this.j=null}T(){return this.state.T()}getParent(){if(null===this.j){const a=this.state.getParent();this.j=null===a?null:new olympe.sc.xa(a)}return this.j}qy(a){const b=olympe.dc.ga();let c=this.getParent();if(!c)return this;const d=e=>{e=e.lf();if('string'!==typeof e)return!1;const f=b.model(e);return f&&b.Pa(f,olympe.sc.Va.Z)||a.modelTag&&!b.Nb(e,a.modelTag)?!1:!0};for(;c&&!d(c);){const e=c.getParent();if(!e)break;
|
|
1117
1117
|
c=e}return c}lf(){return this.state.lf()}Db(){return this.state.Db()}set(a,b){this.state.set(a,b);return this}oo(a){return this.set(a,Date.now())}remove(a){this.set(a,null)}ub(a,b,c=!1){const d=olympe.dc.ea(a),e=olympe.C.bc(null!=b?b:Object,`Get context value flow source of ${d}`);e.getContext().onDestroy(this.on(a,f=>{null===f?e.clear():e.update(f)},c?this.state.T():void 0));return e.ub()}get(a,b=!1){a=this.Qa(a,b);return void 0!==a?a:null}has(a,b=!1){return this.state.has(a,b)}observe(a,b=!0,c=
|
|
@@ -1123,20 +1123,20 @@ a?void 0:a.constructor)!==this.constructor?!1:this.state===a.state}ue(){const a=
|
|
|
1123
1123
|
olympe.sc.xa.prototype.getEvent=olympe.sc.xa.prototype.Gy;olympe.sc.xa.prototype.getProperty=olympe.sc.xa.prototype.Pa;olympe.sc.xa.prototype.isDestroyed=olympe.sc.xa.prototype.fb;olympe.sc.xa.prototype.clear=olympe.sc.xa.prototype.clear;olympe.sc.xa.prototype.offDestroy=olympe.sc.xa.prototype.Zf;olympe.sc.xa.prototype.onDestroy=olympe.sc.xa.prototype.onDestroy;olympe.sc.xa.prototype.offClear=olympe.sc.xa.prototype.Bl;olympe.sc.xa.prototype.onClear=olympe.sc.xa.prototype.yh;
|
|
1124
1124
|
olympe.sc.xa.prototype.destroy=olympe.sc.xa.prototype.destroy;olympe.sc.xa.prototype.getOtherContext=olympe.sc.xa.prototype.Vy;olympe.sc.xa.prototype.onContext=olympe.sc.xa.prototype.Dl;olympe.sc.xa.prototype.createChild=olympe.sc.xa.prototype.mi;olympe.sc.xa.prototype.setParentElement=olympe.sc.xa.prototype.nA;olympe.sc.xa.prototype['throw']=olympe.sc.xa.prototype.throw;olympe.sc.xa.prototype.waitFor=olympe.sc.xa.prototype.Nt;olympe.sc.xa.prototype.runner=olympe.sc.xa.prototype.mA;
|
|
1125
1125
|
olympe.sc.xa.prototype.repeat=olympe.sc.xa.prototype.repeat;olympe.sc.xa.prototype.observe=olympe.sc.xa.prototype.observe;olympe.sc.xa.prototype.has=olympe.sc.xa.prototype.has;olympe.sc.xa.prototype.get=olympe.sc.xa.prototype.get;olympe.sc.xa.prototype.remove=olympe.sc.xa.prototype.remove;olympe.sc.xa.prototype.trigger=olympe.sc.xa.prototype.oo;olympe.sc.xa.prototype.set=olympe.sc.xa.prototype.set;olympe.sc.xa.prototype.getClosest=olympe.sc.xa.prototype.qy;olympe.sc.xa.prototype.getParent=olympe.sc.xa.prototype.getParent;
|
|
1126
|
-
olympe.sc.xa.j={PRODUCTION:'__production',EDITION:'__editionMode',TRANSACTION:'__transaction',REDELIVERED:'__redelivered',Fg:'__htmlContainer',kB:'__dockableElement',ro:'__appHasStarted'};olympe.sc.kx=class extends olympe.sc.xa{constructor(a){super(a);this.D=new olympe.C.
|
|
1126
|
+
olympe.sc.xa.j={PRODUCTION:'__production',EDITION:'__editionMode',TRANSACTION:'__transaction',REDELIVERED:'__redelivered',Fg:'__htmlContainer',kB:'__dockableElement',ro:'__appHasStarted'};olympe.sc.kx=class extends olympe.sc.xa{constructor(a){super(a);this.D=new olympe.C.Zb('SC Update Context',super.Db());const b=a.yh(()=>{b&&a.Bl(b);this.D.destroy()})}Db(){return this.D}yh(a,b){return this.Db().onDestroy(a,null!=b?b:olympe.U.Mc())}};let xn=0;function sn(a,b){b=olympe.dc.ea(b);let c,d,e,f;return null!=(f=null!=(e=null==(c=a.Z)?void 0:c.get('I#'+b))?e:null==(d=a.Z)?void 0:d.get('IO#'+b))?f:b}function un(a,b){if(null===a.H)a.G.error(`An error occurred in a brick: ${b.toString()}`);else if(a.ba&&olympe.dc.ga().Ja(a.ba)){var c=yn(olympe.dc.CloudObject.get(a.ba));null!==c&&zn(a,c).some(d=>{let e,f;return 0<(null==(e=a.F)?void 0:null==(f=e.get(d))?void 0:f.size)})&&!a.N.has('$'+c)?a.set(c,b):un(a.H,b)}else un(a.H,b)}
|
|
1127
1127
|
function vn(a,b){if(b===a.id||a.R.has(b)||!b)return a;for(a=a.H;a;){if(b===a.T()||a.R.has(b))return a;const c=An(a.j,b);if(c)return c;a=a.getParent()}return null}function Bn(a,b,c=0){null===a.$a&&(a.$a=new Map);a.$a.has(b.T())||(a.$a.set(b.T(),{El:b,depth:c}),Cn(a,d=>{(-1===b.F||c<b.F)&&Bn(d,b,c+1)}),a.onDestroy(()=>{Dn(a,b.T())}));return b.T()}
|
|
1128
1128
|
function Dn(a,b){if(null===a.$a||!a.$a.has(b))return!1;const {El:c,depth:d}=a.$a.get(b);Cn(a,f=>{Dn(f,b)});0===d&&c.D();const e=a.$a.delete(b);0===a.$a.size&&(a.$a=null);return e}function wn(a,b){let c;return(null==(c=a.Z)?void 0:c.get('IO#'+b))||null}
|
|
1129
1129
|
function En(a){a.D.Yd(()=>{Cn(a,c=>c.destroy())});a.D.onDestroy(()=>{void 0!==a.Qa(olympe.sc.xa.j.TRANSACTION,!1)&&a.G.warn(`The context ${a.T()} is being destroyed but still has unreleased transactions. You probably forgot to end a transaction.`);a.clear();let c;if(null!=(c=a.H)){let d;null==(d=c.j)||d.delete(a.T());let e;0===(null==(e=c.j)?void 0:e.size)&&(c.j=null)}a.R.clear()});let b;null==(b=a.H)||Fn(b,a)}
|
|
1130
1130
|
function An(a,b){if(null===a)return null;if(a.has(b))return a.get(b);for(const c of a.values())if(c.ia&&!c.id.startsWith('_')&&(a=An(c.j,b)))return a;return null}function Gn(a,b,...c){if(null!==a.$a)for(const {El:d,depth:e}of a.$a.values())d.process(a,b,e,...c)}function Hn(a,b){a.ba=olympe.dc.ea(b);a.ia=b.yd().Zn();b.H().forEach(c=>{a.id===c||a.R.has(c)||(a.R.add(c),pn(a,c,a))});a.Z=b.D();Gn(a,olympe.sc.$a.qc.j.INIT)}function In(a){a.wa=!0;let b;null==(b=a.j)||b.forEach(c=>{In(c)})}
|
|
1131
1131
|
function Jn(a){a.wa=!1;let b;null==(b=a.j)||b.forEach(c=>{Jn(c)})}function zn(a,b){return['*',a.id,...a.R].map(c=>`${'@'}${c}.${b}`)}function Kn(a,b,c,d){c.forEach(f=>{let g,h;null==(g=a.F)||null==(h=g.get(f))||h.forEach(k=>{k(d)})});let e;null==(e=a.j)||e.forEach(f=>{!f.wa&&f.data.has(b)||Kn(f,b,c,d)})}function Ln(a,b,c){a.F||(a.F=new Map);let d=a.F.get(b);void 0===d&&(d=new Map,a.F.set(b,d));xn++;const e=xn;d.set(e,c);return()=>{const f=a.F.get(b);f&&(f.delete(e),0===f.size&&a.F.delete(b))}}
|
|
1132
1132
|
function pn(a,b,c){a.N.add(b);let d,e;null==(d=a.F)||null==(e=d.get('&'+b))||e.forEach(f=>{f(c)});Cn(a,f=>{f.N.has(b)||pn(f,b,c)});a.N.delete(b)}function Cn(a,b){let c;null==(c=a.j)||c.forEach(b)}function Mn(a,b){a.data.forEach((c,d)=>b(c,d.slice(1)))}function Nn(a){var b=olympe.sc.$a.qc.D.$e;const c=[];if(null!==a.$a)for(const {El:d}of a.$a.values())d.getType()===b&&(c.push(d.T()),d.D(),Dn(a,d.T()))}function Fn(a,b){null===a.j&&(a.j=new Map);a.j.set(b.id,b)}
|
|
1133
|
-
olympe.sc.Gg=class{constructor(a,b='no name',c=olympe.sc.fo){this.id=a;this.cd=b;this.R=new Set;this.H=c;this.D=new olympe.C.
|
|
1133
|
+
olympe.sc.Gg=class{constructor(a,b='no name',c=olympe.sc.fo){this.id=a;this.cd=b;this.R=new Set;this.H=c;this.D=new olympe.C.Zb('SC Context');this.data=new Map;this.ba=this.X=this.j=this.F=null;this.ia=!1;this.N=new Set;this.wa=!1;this.Z=null;this.G=olympe.ha.Wa('sc');this.$a=null;En(this)}T(){return this.id}getParent(){return this.H}lf(){return this.ba}set(a,b){if(!this.D.kd()&&!this.D.fb()){const g=olympe.dc.ea(a);var c,d;let h,k;a=null!=(k=null!=(h=null==(c=this.Z)?void 0:c.get('O#'+g))?h:null==
|
|
1134
1134
|
(d=this.Z)?void 0:d.get('IO#'+g))?k:g;c='$'+a;var e;d=null!=(e=this.data.get(c))?e:null;b=null!=b?b:null;if(e=!this.N.has(c)){a:{if('function'===typeof(null==b?void 0:b.Fa))try{var f=b.Fa(d);break a}catch(l){f=!1;break a}f=b===d}e=!f}e&&(null===b?this.data.delete(c):this.data.set(c,b),null!==this.$a&&0<this.$a.size&&Gn(this,olympe.sc.$a.qc.j.$g,a,b),f=zn(this,a),this.N.add(c),Kn(this,c,f,b),this.N.delete(c))}}on(a,b,c,d=!0){if(this.D.fb()||this.D.kd())return()=>{};const e=sn(this,a),f=c?olympe.dc.ea(c):
|
|
1135
1135
|
'*';a=Ln(this,'@'+f+'.'+e,b);c=c?(c=vn(this,f))?c.Qa(e,!1):void 0:this.Qa(e);void 0!==c&&b(c);if(d)olympe.C.Za().onDestroy(a);return a}has(a,b=!1){a='$'+sn(this,a);let c=this.data.has(a),d=this.getParent();if(b)for(;!c&&d;)c=d.data.has(a),d=d.getParent();return c}mi(a,b,c){const d=null!=c?c:'_'+olympe.U.Mc();if(a.fb()||a.kd())throw Error(`Try to create new child context in a destroyed context ${a.T()}, probably because \`runner()\` is called on a destroyed context`);const e=a.run(()=>new olympe.sc.Gg(d,
|
|
1136
1136
|
b,this));null!==this.$a&&0<this.$a.size&&this.$a.forEach(({El:f,depth:g})=>{(-1===f.F||g<f.F)&&Bn(e,f,g+1)});return e}Dl(a,b){const c=vn(this,a);if(c)return b(c),()=>{};const d=Ln(this,'&'+a,e=>{let f;null==(f=d)||f();b(e)});return d}Qa(a,b=!0){a='$'+sn(this,a);let c=this.data.get(a),d=this.getParent();if(b)for(;void 0===c&&null!==d;)c=d.data.get(a),d=d.getParent();return c}destroy(){this.D.kd()||this.D.fb()||(Gn(this,olympe.sc.$a.qc.j.fk),this.D.destroy(),Gn(this,olympe.sc.$a.qc.j.$d))}yh(a,b){if(this.D.fb())a();
|
|
1137
1137
|
else return xn++,b=null!=b?b:String(xn),null===this.X&&(this.X=new Map),this.X.set(b,a),b;return b||'noId'}Bl(a){null!==this.X&&this.X.delete(a)}onDestroy(a){return this.fb()?(a(),'noId'):this.D.onDestroy(a)}clear(){if(!this.D.fb()){Gn(this,olympe.sc.$a.qc.j.Yj);let a;null==(a=this.X)||a.forEach(b=>b());Gn(this,olympe.sc.$a.qc.j.Zj)}}fb(){return this.D.fb()}Db(){return this.D}};olympe.sc.Gg.prototype.getParent=olympe.sc.Gg.prototype.getParent;olympe.sc.Gg.j={Am:'I#',Rm:'O#',dC:'IO#'};function On(a,b,c){return(c=c.lf())?`${a}.${c}.${b}`:`${a}.${b}`}olympe.sc.$a.qc=class{constructor(a=-1){this.id=olympe.U.jf();this.active=!0;this.F=a}D(){this.active=!1}T(){return this.id}getType(){}process(){}};olympe.sc.$a.qc.j={INIT:'INIT',$g:'SET',Yj:'CLEAR',Zj:'CLEARED',fk:'DESTROY',$d:'DESTROYED'};olympe.sc.$a.qc.D={$e:'REMOTE',Dv:'LOCAL',lg:'PROFILER'};olympe.sc.ae=class a{constructor(){this.D=this.H=this.N=null;this.R=new Map;this.F=new Map;this.j=new olympe.U.pn(1E4);gb(this.j,b=>{Nn(b)})}Z(b,c,d){const e=b.body(),f=e.c,g=this.R.get(f);switch(e.t){case olympe.sc.ae.j.dw:c=this.F.get(e.f);b.Oc(c).catch(l=>{d.error('Unable to reply with paths: ',l)});break;case olympe.sc.ae.j.ew:const h=f+c,k=(l,n,p=0)=>{Mn(l,(q,r)=>{let t;q instanceof olympe.dc.CloudObject?t=a.F(q):t=q;let v;q=null!=(v=l.lf())?v:'';0<q.length&&(q+='.');n.push([`${p}.${q}${r}`,
|
|
1138
1138
|
t])})};b.bo(h).then(()=>{const l=[];k(g,l,0);Cn(g,p=>{k(p,l,1)});olympe.L.rb.md(h,{t:olympe.sc.ae.j.Tu,v:l,ts:0}).catch(p=>{d.error('Error publishing on service : ',p)});const n=new olympe.sc.$a.tw(h);Bn(g,n);this.j.has(g)?fb(this.j,g):this.j.add(g)}).catch(l=>{d.error('Error notifying on a contextId : ',l)});break;case olympe.sc.ae.j.ej:void 0!==g&&this.j.has(g)&&fb(this.j,g);break;case olympe.sc.ae.j.Ih:void 0!==g&&(this.j.delete(g),Nn(g))}}ba(b,c,d){this.N=new olympe.L.rb('discovery_debug_id',
|
|
1139
|
-
c);this.N.listen().subscribe(e=>{var f=e.body();if(f.t===olympe.sc.ae.j.ru){e=f.i;f=f.f;if(!this.F.has(f)){const g=this.X(f,c,b);if(0!==g.length)this.F.set(f,g);else return}null===this.D&&(this.D=olympe.U.jf(),f=new olympe.C.
|
|
1139
|
+
c);this.N.listen().subscribe(e=>{var f=e.body();if(f.t===olympe.sc.ae.j.ru){e=f.i;f=f.f;if(!this.F.has(f)){const g=this.X(f,c,b);if(0!==g.length)this.F.set(f,g);else return}null===this.D&&(this.D=olympe.U.jf(),f=new olympe.C.Zb(this.D,c.Db()),this.H=new olympe.L.rb(this.D,f),this.H.listen().subscribe(g=>{this.Z(g,b,d)}));olympe.L.rb.md(e,{t:olympe.sc.ae.j.Ot,n:olympe.V.getParameter(olympe.sc.Config.np)||'no name',a:b,s:this.D}).catch(g=>{d.error('Error publishing on draw service : '+g)})}})}X(b,c,
|
|
1140
1140
|
d){const e=[],f=olympe.dc.ga(),g=(h,k)=>{Cn(h,l=>{if(null!==l.lf()){const n=olympe.dc.CloudObject.get(l.lf()).wg(olympe.sc.Runnable.D).Dc();if(null!==n){const p=k+'/'+f.name(n);n.W()===b&&(e.push([p,l.T()]),this.R.set(l.T(),l));g(l,p)}}})};g(c.state,f.name(d));return e}static D(b,c,d){let e=d;d instanceof olympe.dc.CloudObject&&(e=a.F(d));olympe.L.rb.md(b,{t:olympe.sc.ae.j.al,k:c,v:e,ts:Date.now()}).catch(f=>{olympe.ha.Wa('Debugger').error('Error publishing on service : ',f)})}static F(b){if(null===
|
|
1141
1141
|
b||void 0===b)return'<null>';const c=olympe.dc.ga();if(b instanceof olympe.dc.CloudObject){var d=b.Xb();if(!c.Nb(d,olympe.sc.Bc))return b.toString();let f=`${b.Wb().name()} (${b.W()})`;var e=olympe.dc.CloudObject.get(d);d=olympe.dc.la.from(e).vg(olympe.dc.CloudObject.extendRel,!0).oe().bb(olympe.dc.CloudObject.propertyRel).oe().Dc();e=olympe.dc.la.from(e).vg(olympe.dc.CloudObject.extendRel,!0).oe().bb(olympe.dc.CloudObject.Mj).oe().Dc();d=d.filter(([g])=>g instanceof olympe.sc.Bc);0!==d.length&&(f+=
|
|
1142
1142
|
'<br> ',f+='Properties:<br>',d.forEach(([,g])=>{f+=' ';f+=' - '+c.name(g)+' : '+c.Pa(b.W(),g)+'<br>'}));d=e.filter(([g])=>g instanceof olympe.sc.Bc);0!==d.length&&(f+=' ',f+='Relations:<br>',d.forEach(([,g])=>{f+=' ';f+=' - '+c.name(g)+'<br>'}));return f}return b.toString()}};olympe.sc.ae.H='discovery_debug_id';olympe.sc.ae.j={ru:0,Ot:1,dw:2,ew:3,Tu:4,al:5,ej:6,Ih:7};olympe.sc.$a.lC=class extends olympe.sc.$a.qc{constructor(a=-1){super(a);this.j=new Map}getType(){return olympe.sc.$a.qc.D.Dv}process(a,b,c,...d){if(this.active&&b===olympe.sc.$a.qc.j.$g){a=On(c,sn(a,d[0]),a);d=d[1];let e;null==(e=this.j.get(a))||e(d)}}on(a,b){this.j.set(a,b)}};function Pn(a,b,c,d=new Map){for(var e=[];b;){const n=b.lf();if(!n)break;e.push(n);b=b.getParent()}rb(a.j,c,d.set('context',e));var f;let g;for(const n of[...e,null==(f=d)?void 0:f.get('propId'),null==(g=d)?void 0:g.get('type')])if(c=n,'string'===typeof c&&!a.H.has(c)){e=a;f=c;e.ga||(e.ga=olympe.dc.ga());d=e.ga.name(f);e=(f=e.ga.model(f))?e.ga.name(f):'';var [h,k,l]=[d,f,e];d=a.j;e=(new Map).set(c,h).set(k,l);c=(new Map).set(c,k);for(const [p,q]of e.entries())d.N.set(p,q);for(const [p,q]of c.entries())d.H.set(p,
|
|
@@ -1144,9 +1144,9 @@ q)}}
|
|
|
1144
1144
|
olympe.sc.$a.mw=class extends olympe.sc.$a.qc{constructor(a){super();this.j=a;this.ga=olympe.dc.ga();this.H=new Set}getType(){return olympe.sc.$a.qc.D.lg}process(a,b,c,...d){var e=Qn.Am,f=Qn.Rm,g=Qn.hw;const h=Qn.INIT,k=Qn.Yj,l=Qn.Zj,n=Qn.fk,p=Qn.$d;c=Qn.aw;if(b===olympe.sc.$a.qc.j.$g){const [q,r]=d;b=(d=a.lf())?olympe.dc.ga().Nb(d,olympe.sc.logic.Function):!1;d=d?olympe.dc.ga().Nb(d,olympe.sc.ui.cD):!1;b?(g=this.ga.Ib(q,olympe.dm.Property.typeRel),b=this.ga.Nb(q,olympe.sc.logic.vb),d=this.ga.Nb(q,olympe.sc.logic.Gb),
|
|
1145
1145
|
Pn(this,a,b?e:d?f:c,new Map([['propId',q],['value',r],['type',g]]))):d&&(e=this.ga.Nb(q,olympe.dm.Property),f=this.ga.Ib(q,olympe.dm.Property.typeRel),Pn(this,a,e?g:c,new Map([['propId',q],['value',r],['type',f]])))}else b===olympe.sc.$a.qc.j.INIT?Pn(this,a,h):b===olympe.sc.$a.qc.j.Yj?Pn(this,a,k):b===olympe.sc.$a.qc.j.Zj?Pn(this,a,l):b===olympe.sc.$a.qc.j.fk?Pn(this,a,n):b===olympe.sc.$a.qc.j.$d&&Pn(this,a,p)}};
|
|
1146
1146
|
const Qn={Am:'input',Rm:'output',hw:'prop',INIT:'init',Yj:'clear',Zj:'cleared',fk:'destroy',$d:'destroyed',aw:'other'};olympe.sc.$a.tw=class extends olympe.sc.$a.qc{constructor(a){super(1);this.H=a;this.j=new Map;this.db=olympe.dc.ga()}getType(){return olympe.sc.$a.qc.D.$e}D(){super.D();for(const a of this.j.values())a();this.j.clear()}process(a,b,c,...d){if(this.active&&b===olympe.sc.$a.qc.j.$g&&void 0!==d[0]&&null!==d[0]){const e=On(c,sn(a,d[0]),a),f=d[1];let g;null==(g=this.j.get(e))||g();this.j.delete(e);if(f instanceof olympe.dc.CloudObject&&f.Wb()instanceof olympe.sc.Bc){const h=kh(this.db,f,()=>{olympe.sc.ae.D(this.H,
|
|
1147
|
-
e,f)});this.j.set(e,()=>{lh(this.db,f,h)})}olympe.sc.ae.D(this.H,e,f)}}};olympe.sc.Metadata=class extends olympe.dc.CloudObject{ov(){return this.Ad(this.Un())}pv(){return this.Ad(this.Vn())}ql(){return new olympe.C
|
|
1147
|
+
e,f)});this.j.set(e,()=>{lh(this.db,f,h)})}olympe.sc.ae.D(this.H,e,f)}}};olympe.sc.Metadata=class extends olympe.dc.CloudObject{ov(){return this.Ad(this.Un())}pv(){return this.Ad(this.Vn())}ql(){return new olympe.C.$b(this.Ad(this.Un()),this.Ad(this.Vn()))}Un(){}Vn(){}};olympe.sc.Metadata.O=olympe.dc.oa.j('0161ae936c62f9fcd131',olympe.sc.Metadata);m=olympe.sc.Metadata.prototype;m.ov.K=olympe.C.J.F;m.pv.K=olympe.C.J.F;m.ql.K=olympe.C.J.R;m.Un.K=olympe.C.J.j;m.Vn.K=olympe.C.J.j;olympe.sc.hd=class extends olympe.dc.CloudObject{D(){return this.xb(olympe.sc.hd.F)}j(){return this.xb(olympe.sc.hd.j)}};olympe.sc.hd.O=olympe.dc.oa.j('01703376c4a81c0e9d90',olympe.sc.hd);olympe.sc.hd.F=olympe.sc.hd.O.ja('01703376c4a81c0e9d91');olympe.sc.hd.j=olympe.sc.hd.O.ja('01703376c4a81c0e9d92');olympe.sc.hd.D=olympe.sc.hd.O.ta('01703376c4a81c0e9d93');S(olympe.dc.CloudObject.O,olympe.sc.hd.D);olympe.sc.hd.prototype.D.K=olympe.C.J.D;olympe.sc.hd.prototype.j.K=olympe.C.J.D;olympe.sc.ze={};olympe.sc.ze.Pe={Cu:'folders',xw:'screenflow',Zw:'ui-design',ds:'software-intelligence',Fh:'data-management',QC:'projects'};olympe.sc.Hf=class extends olympe.dc.CloudObject{constructor(a,b){super(a,b)}Kd(){return this.Ad(olympe.sc.Hf.D)}};olympe.sc.Hf.O=olympe.dc.oa.j('019131fb930466a1ad79',olympe.sc.Hf);olympe.sc.Hf.D=olympe.sc.Hf.O.ja('016d1bb681929c2cc3f1');olympe.sc.Hf.j=olympe.sc.Hf.O.ta('019131fb930466a1ad7a');S(olympe.dc.CloudObject.O,olympe.sc.Hf.j);olympe.sc.Hf.prototype.Kd.K=olympe.C.J.F;olympe.sc.ud=class extends olympe.dm.BrickMetadata{xe(){return olympe.sc.ze.Pe.ds}j(){return this.cb(olympe.sc.ud.j,olympe.sc.logic.Xh)}D(){return this.cb(olympe.sc.ud.D,olympe.sc.logic.Tg)}};olympe.sc.ud.O=olympe.dc.oa.j('011100000000000adef0',olympe.sc.ud);olympe.sc.ud.j=olympe.sc.ud.O.ta('016ac4f59a2917fdef01');olympe.sc.ud.D=olympe.sc.ud.O.ta('016ac4f59a2917fdef02');olympe.sc.ud.O.j=(a,b)=>dm(a,b||'New function signature',olympe.sc.ud,olympe.sc.logic.Fd).W();
|
|
1148
1148
|
olympe.sc.ud.prototype.j.K=new olympe.C.J(()=>olympe.dc.Aa,[]);olympe.sc.ud.prototype.D.K=new olympe.C.J(()=>olympe.dc.Aa,[]);function Rn(a,b){[].forEach(c=>c.call(a,b,(d,e)=>{null===e?b.remove(d):b.set(d,e)}))}function Sn(a,b){b=b.filter(c=>'string'===typeof c&&a.db.Nb(c,olympe.sc.logic.Tb));b.sort((c,d)=>{let e;c=null!=(e=a.db.Pa(c,olympe.sc.logic.Tb.j,!0))?e:0;let f;d=null!=(f=a.db.Pa(d,olympe.sc.logic.Tb.j,!0))?f:0;return c-d});return b}function Tn(a){return Sn(a,a.db.cb(a.tag,olympe.sc.Va.F))}function Un(a){return Sn(a,a.db.cb(a.tag,olympe.sc.Va.D))}
|
|
1149
|
-
olympe.sc.Va=class extends olympe.dm.BrickMetadata{rv(a,b,c,d,e=!0){e||olympe.ha.Wa('sc').error('parameter own= false ignored, investigate');return olympe.C.zh(M(this.Wf(a,olympe.dc.ib.uj,c)),d)}H(){return[]}F(){return rxjs.of([])}bz(){return this.cb(olympe.sc.Va.H,olympe.sc.Runnable)}uy(){return this.cb(olympe.sc.Va.R,olympe.sc.Runnable)}wi(){return this.db.Pa(this,olympe.sc.Va.Z)}Zn(){return null!==this.db.Ib(this.tag,olympe.sc.Runnable.j
|
|
1149
|
+
olympe.sc.Va=class extends olympe.dm.BrickMetadata{rv(a,b,c,d,e=!0){e||olympe.ha.Wa('sc').error('parameter own= false ignored, investigate');return olympe.C.zh(M(this.Wf(a,olympe.dc.ib.uj,c)),d)}H(){return[]}F(){return rxjs.of([])}bz(){return this.cb(olympe.sc.Va.H,olympe.sc.Runnable)}uy(){return this.cb(olympe.sc.Va.R,olympe.sc.Runnable)}wi(){return this.db.Pa(this,olympe.sc.Va.Z)}Zn(){return null!==this.db.Ib(this.tag,olympe.sc.Runnable.j.ac())}qv(){return this.cb(olympe.sc.Va.F,olympe.sc.logic.vb)}Cq(){return this.cb(olympe.sc.Va.D,
|
|
1150
1150
|
olympe.sc.logic.Gb)}N(){return[olympe.sc.Va.Ua]}};olympe.sc.Va.O=olympe.dc.oa.j('0112000000000000def0',olympe.sc.Va);olympe.sc.Va.Z=olympe.sc.Va.O.ja('01692aa71f3108454479');olympe.sc.Va.lb=olympe.sc.Va.O.ja('0166446c1f128ebc903a');olympe.sc.Va.Ua=olympe.sc.Va.O.ja('0166446c1f128ebc904e');olympe.sc.Va.H=olympe.sc.Va.O.ta('01692a4af82e8984742c');olympe.sc.Va.R=olympe.sc.Va.O.ta('01692a4af82e8984742d');olympe.sc.Va.X=olympe.sc.Va.O.ta('01692a4af82e8984742e');olympe.sc.Va.F=olympe.sc.Va.O.ta('01621fb84e320000f00a');
|
|
1151
1151
|
olympe.sc.Va.D=olympe.sc.Va.O.ta('01621fb84e320000f00b');olympe.sc.Va.xd=olympe.sc.Va.O.ta('0171838bcfed0000e00e');olympe.sc.Va.jd=olympe.sc.Va.O.ta('0171838bcfed0000a00a');m=olympe.sc.Va.prototype;m.rv.K=olympe.C.J.j;m.bz.K=new olympe.C.J(()=>olympe.dc.Aa,[]);m.uy.K=new olympe.C.J(()=>olympe.dc.Aa,[]);m.wi.K=olympe.C.J.j;m.Zn.K=olympe.C.J.j;m.qv.K=new olympe.C.J(()=>olympe.dc.Aa,[]);m.Cq.K=new olympe.C.J(()=>olympe.dc.Aa,[]);function yn(a){let b;return null!=(b=a.yd().N().map(olympe.dc.ea)[0])?b:null}function Vn(a){const b=new olympe.dc.Ya;a=b.create(a);b.persist(a,!1);b.mb((d,e)=>{d||olympe.ha.Wa('sc').error(`Error occurred for transaction executed by createLocalRunnable: ${e}`)});const c=olympe.dc.CloudObject.get(a);olympe.C.Za().onDestroy(()=>{const d=new olympe.dc.Ya;d.delete(c);d.mb()});return c}
|
|
1152
1152
|
function Wn(a,b){Hn(b.state,a);Rn(a.yd(),b);const c=a.R(),d=Xn(b,c),e=[];c.forEach((f,g)=>{f===a.ia?e[0]=g:f===a.ba&&(e[1]=g)});void 0!==e[0]&&void 0!==e[1]&&(Yn(a,b,d[e[0]],d[e[1]]),c[e[0]]=null,c[e[1]]=null);c.forEach((f,g)=>{f&&f.call(a,b,d[g])})}
|
|
@@ -1155,11 +1155,11 @@ b.onDestroy(g.unsubscribe.bind(g))}function ao(a,b,c,d){let e=[];const f=U(a.db,
|
|
|
1155
1155
|
function Xn(a,b){if(1===b.length)return[(d,e)=>{null!==e?a.set(d,e):a.remove(d)}];const c=b.map(()=>new Map);return c.map(d=>(e,f)=>{null!==f?d.set(e,f):d.delete(e);a:{for(const g of c)if(f=g.get(e),void 0!==f){a.set(e,f);break a}a.remove(e)}})}function Yn(a,b,c,d){b=b.Db();const e=kh(a.db,a.tag,b.tc((f,g,h)=>{const k=h?d:c;null!==k&&(k(f,olympe.dc.ib.uc(g)),h&&c!==k&&(null==c||c(f,null)))}));b.onDestroy(()=>{lh(a.db,a.tag,e)})}
|
|
1156
1156
|
olympe.sc.Runnable=class extends olympe.dm.BrickMetadata{constructor(a,b,c){super(a,b);this.G=c}run(a){a.Db().run(()=>{Wn(this,a);this.init(a);a.yh(this.clear.bind(this,a));a.onDestroy(this.destroy.bind(this,a));Zn(this,a);this.F(a)})}yd(){return this.Wb()}init(a){this.onInit(a)}update(a,b,c){const d=this.yd();if(d.wi())this.onUpdate(a,b,c);else this.G.debug(`Softcoded runnable ${this.db.name(this)} with tag ${this.tag} running in context ${a.T()}`),ao(this,d,olympe.sc.Va.H,a),this.wa()&&ao(this,
|
|
1157
1157
|
d,olympe.sc.Va.X,a)}F(a){a.oo(olympe.sc.Va.lb)}clear(){}destroy(a){this.onDestroy(a)}setupExecution(a){return this.yd().F(a)}onInit(){}onUpdate(){const a=this.Xb(),b=this.db.name(a),c=this.db.name(this.db.model(a));this.G.error(`No code was found for ${b} (${c}: ${a})\n\n`+'This is probably because the code has not yet been deployed to the environment, or because the package.json does not import the required dependencies.')}onDestroy(){}getInputs(){return Tn(this.yd())}getOutputs(){return Un(this.yd())}H(){return[]}D(){return null}wa(){return!1}N(a,
|
|
1158
|
-
b,c,d){a=b.ub(a,c,!0);void 0!==d&&olympe.C.zh(a,d);return a}Ua(a,b,c,d,e){olympe.C.eo([d],f=>{b.set(a,olympe.C.pt(f)?f.valueOf():f)});return this.N(a,b,c,e)}R(){return[this.ia,this.ba]}ia(a,b){Yn(this,a,b,null)}ba(a,b){Yn(this,a,null,b)}lb(a,b){const c=this.db,d=olympe.sc.logic.qb.F
|
|
1158
|
+
b,c,d){a=b.ub(a,c,!0);void 0!==d&&olympe.C.zh(a,d);return a}Ua(a,b,c,d,e){olympe.C.eo([d],f=>{b.set(a,olympe.C.pt(f)?f.valueOf():f)});return this.N(a,b,c,e)}R(){return[this.ia,this.ba]}ia(a,b){Yn(this,a,b,null)}ba(a,b){Yn(this,a,null,b)}lb(a,b){const c=this.db,d=olympe.sc.logic.qb.F.ac(),e=olympe.sc.logic.qb.D,f=olympe.sc.logic.qb.j;this.Ws(d,g=>{var h=g.W();if(h=c.Ib(h,e)||c.Ib(h,f))return bo(g,a,b.bind(null,h))})}};olympe.sc.Runnable.O=lg(olympe.dc.oa.j('01130000000000ca1100',olympe.sc.Runnable));
|
|
1159
1159
|
olympe.sc.Runnable.D=olympe.sc.Runnable.O.ta('01692a4af82e8984742b');olympe.sc.Runnable.j=olympe.sc.Runnable.O.ta('01756a18d4921c103111');olympe.sc.Runnable.N=S(olympe.sc.Runnable.O,olympe.sc.Va.H);olympe.sc.Runnable.R=S(olympe.sc.Runnable.O,olympe.sc.Va.R);olympe.sc.Runnable.X=S(olympe.sc.Runnable.O,olympe.sc.Va.X);S(olympe.sc.Va.O,olympe.sc.Runnable.D);S(olympe.sc.Va.O,olympe.sc.Runnable.j);olympe.sc.Runnable.prototype.yd.K=new olympe.C.J(()=>olympe.sc.Va,[]);
|
|
1160
1160
|
olympe.sc.Runnable.prototype.N.K=new olympe.C.J(()=>Object,[]);olympe.sc.Runnable.prototype.Ua.K=olympe.C.J.j;function co(a){if(a){if('string'===typeof a)return a;if(a instanceof olympe.sc.Ud)return(a=a.D())?a.valueOf():null;if('function'===typeof a.W)return a.W()}return null}olympe.sc.Ud=class extends olympe.dc.CloudObject{D(){return this.db.cb(this,olympe.sc.Ud.j)[0]}j(){const a=co(this);return olympe.dc.CloudObject.get(a)}uc(){return this.j().uc()}toString(){const a=co(this);let b;a&&(b=this.db.name(a));return b||super.toString()}};olympe.sc.Ud.O=olympe.dc.oa.j('0163c9ae01f2d6e9ca49',olympe.sc.Ud);
|
|
1161
1161
|
olympe.sc.Ud.j=olympe.sc.Ud.O.ta('0169b5a8a33144fb0b49');S(olympe.dc.CloudObject.O,olympe.sc.Ud.j);olympe.sc.Ud.prototype.D.K=new olympe.C.J(()=>String,[]);olympe.sc.Ud.prototype.j.K=new olympe.C.J(()=>olympe.dc.CloudObject,[]);olympe.sc.rp=class extends olympe.dm.Kb{xe(){return olympe.sc.ze.Pe.Fh}};olympe.sc.rp.O=olympe.dc.oa.j('0163a68ce44f3d1fa84c',olympe.sc.rp);olympe.sc.Bc=class extends olympe.dm.BrickMetadata{};olympe.sc.Bc.O=olympe.dc.oa.j('016324fde11a836f76c2',olympe.sc.Bc);olympe.sc.Bc.j=olympe.sc.Bc.O.ta('016324fde11a836087c2');olympe.sc.Bc.O.j=function(a,b){return dm(a,null!=b?b:'New type',olympe.sc.Bc).W()};let eo=null,fo=null,go=[];
|
|
1162
|
-
function ho(a,b){eo=a;const c=olympe.C.Za();return olympe.dc.td.from(a).bb(olympe.sc.qa.Qc.j).bb(olympe.sc.uf.j
|
|
1162
|
+
function ho(a,b){eo=a;const c=olympe.C.Za();return olympe.dc.td.from(a).bb(olympe.sc.qa.Qc.j).bb(olympe.sc.uf.j.ac()).mb({li:'__code-as-data__'}).then(d=>{let e;null==(e=go)||e.forEach(f=>f());go=null;fo=d;if(null!==d){if(b){const f=olympe.dc.ga();return new Promise(g=>{Ai(c,d,h=>{h=f.xi(h)?h:f.model(h);return null!==h&&f.Nb(h,olympe.sc.Bc)},{lo:!0}).subscribe(rxjs.Subscriber.create(()=>{g()},()=>{olympe.ha.Wa('sc').error('Impossible to load the business container for the application',a,'maybe are you offline?');
|
|
1163
1163
|
g()}))})}olympe.ha.Wa('sc').debug("Found business container but won't load it's content according to configuration.")}else olympe.ha.Wa('sc').info(`No business container for application ${a}. You probably miss permissions.`);return Promise.resolve()}).catch(d=>{go=null;throw d;})}function Nf(){return null===go?Promise.resolve():new Promise(a=>{go.push(()=>a())})}olympe.sc.uf=class extends olympe.dc.CloudObject{};olympe.sc.uf.O=olympe.dc.oa.j('017b3aa8fae1e3d044dc',olympe.sc.uf);olympe.sc.uf.j=olympe.sc.uf.O.ta('017b3aa8fd1659291b92');
|
|
1164
1164
|
olympe.sc.uf.D=olympe.sc.uf.O.ta('017b3aa8fe7ec3fd52f2');olympe.sc.Map=class extends olympe.dc.CloudObject{};olympe.sc.Map.O=olympe.dc.oa.j('018119241abce0e5696e',olympe.sc.Map);olympe.sc.Pg=class extends olympe.sc.Map{};olympe.sc.Pg.O=olympe.dc.oa.j('01631aacd8276ea98490',olympe.sc.Pg);olympe.sc.File=class extends olympe.dm.File{static Px(a,b,c,d,e,f){e=a.create(olympe.sc.File,new Map,e,f);olympe.sc.File.Ft(a,e,b,c,d);return e}static Qx(a,b,c,d,e,f){e=a.create(olympe.sc.File,new Map,e,f);olympe.sc.File.ko(a,e,b,c,d);return e}static Ft(a,b,c,d,e){e=null!=e?e:'application/data';d=URL.createObjectURL(new Blob([d],{type:e}));olympe.sc.File.ko(a,b,c,d,e)}static ko(a,b,c,d,e){const f=olympe.dc.ga(),g=f.Ja(b);var h;const k=null!=(h=a.model(b))?h:olympe.sc.File;if(null===k||!f.Xf(k,olympe.dm.File))throw Error(`Try to set the content of an object which is not a file: ${b}`);
|
|
1165
1165
|
h=new Date;c=(new Map).set(olympe.dm.File.fileNameProp,null!=c?c:'file').set(olympe.dm.File.urlProp,d).set(olympe.dm.File.modificationDateProp,h).set(olympe.dm.File.mimeTypeProp,null!=e?e:'application/data');g&&null!==f.Pa(b,olympe.dm.File.urlProp)||c.set(olympe.dm.File.creationDateProp,h).set(olympe.dm.File.j,!1);a.vt(b,c)}};olympe.sc.File.setURLContent=olympe.sc.File.ko;olympe.sc.File.setContent=olympe.sc.File.Ft;olympe.sc.File.createFromURL=olympe.sc.File.Qx;olympe.sc.File.createFromContent=olympe.sc.File.Px;
|
|
@@ -1169,7 +1169,7 @@ olympe.sc.logic.kC=(a,b,c,d,e,f,g)=>{const h=b.W();b=olympe.C.Qa(b.getType().W()
|
|
|
1169
1169
|
return}let n;if('<'===f)n=(p,q)=>olympe.sc.logic.$p(q,p);else if('>'===f)n=(p,q)=>olympe.sc.logic.$p(p,q);else{g.error(`Unknown inequality ${f}. Please use '<' or '>'`);return}e(a.gl().filter(p=>olympe.C.ua([l(p)],q=>{q=n(q.valueOf(),k);return olympe.C.Sb(d.valueOf()?1===q:0<=q)},olympe.C.da,'FilterList ListDefBuilder Filter TransformFlows')).Xi())};
|
|
1170
1170
|
olympe.sc.logic.YE=(a,b)=>{if(a instanceof olympe.C.$)return a;if(a instanceof olympe.C.Sa)return a.Jt();if(a instanceof olympe.C.da)return a.it();if('string'===typeof a||'number'===typeof a)return olympe.C.sa(Number(a));b.error(`Could not parse provided value ${a} into a number`);return olympe.C.$.Oq};olympe.sc.logic.Ra={};function io(a){kg(a.O,(b,c)=>{b=b.create(a.O.D);Y(b,olympe.dc.CloudObject.nameProp,c);return b.W()})}olympe.sc.logic.Ra.Op=class{constructor(a,b,c){this.O=olympe.dc.oa.j(a,b,...c);io(this)}W(){return this.O.W()}};olympe.sc.logic.Ra.Op.ya=[olympe.dc.Ze];const jo=Object.create(null),ko=new Map;function lo(a){if(void 0===jo[a])throw Error(`Tag: ${a} - does not correspond to a registered function`);return hg(a)}function mo(a,b,c=olympe.sc.logic.Function){if(ko.has(a))throw c=lo(a),Error(`Tag: ${a} - overwriting existing function definition "${c.name}" with "${b.name}"`);const d=olympe.dc.oa.j(a,b,...[]);ko.set(a,{O:d,oF:b,VE:c});return d}
|
|
1171
1171
|
olympe.sc.logic.oa=class{constructor(){}static j(a,b,...c){if(jo[a])throw c=lo(a),Error(`Tag: ${a} - overwriting already defined function "${c.name}" with "${b.name}"`);b=new olympe.sc.logic.Ra.Op(a,b,[olympe.sc.P.Ca].concat(c));return jo[a]=b}};olympe.sc.logic.$A=class{};olympe.sc.logic.ck=class extends olympe.dc.CloudObject{};olympe.sc.logic.ck.O=olympe.dc.oa.j('01621fb84e320000cf00',olympe.sc.logic.ck);function tn(a,b,c){return new olympe.sc.logic.Error(a,b,c)}olympe.sc.logic.Error=class extends Error{constructor(a,b,c){super(a);this.code=b;this.j=null!=c?c:null}static create(a,b){return new olympe.sc.logic.Error(a,b)}Qy(){return this.message}Bj(){return this.code}ue(){let a;return null!=(a=this.j)?a:''}toString(){return`${this.message}\nError found in:\n${this.ue()}\n\n${this.stack}`}};olympe.sc.logic.Error.prototype.getStack=olympe.sc.logic.Error.prototype.ue;
|
|
1172
|
-
olympe.sc.logic.Error.prototype.getCode=olympe.sc.logic.Error.prototype.Bj;olympe.sc.logic.Error.prototype.getMessage=olympe.sc.logic.Error.prototype.Qy;olympe.sc.logic.Error.create=olympe.sc.logic.Error.create;olympe.sc.logic.Oi=class extends olympe.sc.logic.ck{};olympe.sc.logic.Oi.O=olympe.dc.oa.j('016eeb5ede9f3094d8f0',olympe.sc.logic.Oi);olympe.sc.logic.sd=class extends olympe.dc.CloudObject{j(){return this.Vc(olympe.sc.logic.sd.j,olympe.dc.CloudObject)}};olympe.sc.logic.sd.O=olympe.dc.oa.j('016ac4f59ee8ea2081ba',olympe.sc.logic.sd);olympe.sc.logic.sd.D=olympe.sc.logic.sd.O.ja('017bc044aeacce7ffc8f');olympe.sc.logic.sd.j=olympe.sc.logic.sd.O.ta('016ac4f5a0091c4790e2');S(olympe.dc.CloudObject.O,olympe.sc.logic.sd.j);olympe.sc.logic.sd.prototype.j.K=new olympe.C.J(()=>olympe.dc.CloudObject,[]);olympe.sc.logic.Xh=class extends olympe.sc.logic.sd{};olympe.sc.logic.Xh.O=olympe.dc.oa.j('016ac4f59c592b862457',olympe.sc.logic.Xh);olympe.sc.logic.Xh.F=olympe.sc.ud.j
|
|
1172
|
+
olympe.sc.logic.Error.prototype.getCode=olympe.sc.logic.Error.prototype.Bj;olympe.sc.logic.Error.prototype.getMessage=olympe.sc.logic.Error.prototype.Qy;olympe.sc.logic.Error.create=olympe.sc.logic.Error.create;olympe.sc.logic.Oi=class extends olympe.sc.logic.ck{};olympe.sc.logic.Oi.O=olympe.dc.oa.j('016eeb5ede9f3094d8f0',olympe.sc.logic.Oi);olympe.sc.logic.sd=class extends olympe.dc.CloudObject{j(){return this.Vc(olympe.sc.logic.sd.j,olympe.dc.CloudObject)}};olympe.sc.logic.sd.O=olympe.dc.oa.j('016ac4f59ee8ea2081ba',olympe.sc.logic.sd);olympe.sc.logic.sd.D=olympe.sc.logic.sd.O.ja('017bc044aeacce7ffc8f');olympe.sc.logic.sd.j=olympe.sc.logic.sd.O.ta('016ac4f5a0091c4790e2');S(olympe.dc.CloudObject.O,olympe.sc.logic.sd.j);olympe.sc.logic.sd.prototype.j.K=new olympe.C.J(()=>olympe.dc.CloudObject,[]);olympe.sc.logic.Xh=class extends olympe.sc.logic.sd{};olympe.sc.logic.Xh.O=olympe.dc.oa.j('016ac4f59c592b862457',olympe.sc.logic.Xh);olympe.sc.logic.Xh.F=olympe.sc.ud.j.ac();olympe.sc.logic.Xh.O.j=(a,b,c,d,e)=>{b=dm(a,b||'New Predefined Input',olympe.sc.logic.Xh,olympe.sc.logic.vb);Y(b,olympe.sc.logic.sd.D,e);a.Oa(olympe.sc.logic.sd.j,b,c);a.Oa(olympe.sc.ud.j,d,b);return b.W()};olympe.sc.logic.Tg=class extends olympe.sc.logic.sd{};olympe.sc.logic.Tg.O=olympe.dc.oa.j('016ac4f59dd99f5df3e1',olympe.sc.logic.Tg);olympe.sc.logic.Tg.F=S(olympe.sc.logic.Tg.O,olympe.sc.ud.D);olympe.sc.logic.Tg.O.j=(a,b,c,d,e)=>{b=dm(a,b||'New Predefined Output',olympe.sc.logic.Tg,olympe.sc.logic.Gb);Y(b,olympe.sc.logic.sd.D,e);a.Oa(olympe.sc.logic.sd.j,b,c);a.Oa(olympe.sc.ud.D,d,b);return b.W()};olympe.sc.logic.Fd=class extends olympe.sc.Va{xe(){return olympe.sc.ze.Pe.ds}Z(){return this.On().gl().Nb([olympe.sc.logic.Function]).and().Cd().Nb([olympe.sc.logic.pd,olympe.sc.logic.gd]).Xi()}N(){const a=olympe.dc.ea(olympe.sc.logic.Oi);return this.db.cb(this,olympe.sc.logic.Fd.D).filter(b=>this.db.Ib(b,olympe.sc.logic.Tb.typeRel)===a)}j(a){const b=this.db.Ln(this,[olympe.sc.Va.F],c=>this.db.model(c)===olympe.dc.ea(a));return b?olympe.dc.CloudObject.get(b):null}D(a){const b=this.db.Ln(this,[olympe.sc.Va.D],
|
|
1173
1173
|
c=>this.db.model(c)===olympe.dc.ea(a));return b?olympe.dc.CloudObject.get(b):null}H(a){if(!this.wi())return super.H(a);const b=olympe.dc.ea(olympe.sc.logic.ck),c=olympe.dc.ea(olympe.sc.logic.Oi);return Un(this).map(d=>{switch(this.db.Ib(d,olympe.sc.logic.Tb.typeRel)){case b:return a.oo.bind(a,d);case c:return a.throw.bind(a);default:return a.set.bind(a,d)}})}F(a){if(!this.wi())return super.F(a);const b=Tn(this);return 0<b.length?rxjs.combineLatest(b.map(c=>a.observe(c))).pipe(rxjs.operators.map(c=>
|
|
1174
1174
|
c.includes(null)?null:c)):rxjs.of([])}};olympe.sc.logic.Fd.O=mo('01621fb84e320000f000',olympe.sc.logic.Fd,olympe.sc.logic.Function);olympe.sc.logic.Fd.prototype.j.K=new olympe.C.J(()=>olympe.sc.logic.vb,[]);olympe.sc.logic.Fd.prototype.D.K=new olympe.C.J(()=>olympe.sc.logic.Gb,[]);let no=null;function oo(){if(null===no){let a;no=null!=(a=olympe.V.getParameter('sc.action.experimental'))?a:!1}return no}
|
|
1175
1175
|
olympe.sc.logic.cg=class extends olympe.sc.logic.Fd{R(){return this.j('016ac63229782039429f')}X(){return this.D('016ac6322acf67eebfe7')}ba(){return this.Cq().gl().bb(olympe.sc.logic.Tb.typeRel).vl(olympe.sc.logic.Oi).Xi().Df().$n(olympe.C.$.ZERO)}F(a){if(this.wi()||oo()){const b=this.R().W();return a.observe(b).pipe(rxjs.operators.map(c=>null===c?null:Tn(this).filter(d=>d!==b).map(d=>a.get(d))))}return super.F(a)}};olympe.sc.logic.cg.j='016ac63229782039429f';olympe.sc.logic.cg.N='016ac6322acf67eebfe7';
|
|
@@ -1178,7 +1178,7 @@ olympe.sc.logic.Tb.prototype.getType.K=new olympe.C.J(()=>olympe.dc.CloudObject,
|
|
|
1178
1178
|
olympe.sc.logic.vb.H=olympe.sc.logic.vb.O.ta('01621fb84e32000000d1',olympe.dc.va.ORIGIN);olympe.sc.logic.vb.O.j=function(a,b,c,d,e,f=olympe.sc.logic.vb){f=a.create(f);Y(f,olympe.dc.CloudObject.nameProp,b||'New input');a.Oa(olympe.sc.logic.Tb.typeRel,f,c);void 0!==e&&Y(f,olympe.sc.logic.Tb.j,e);d&&a.Oa(olympe.sc.Va.F,d,f);return f.W()};olympe.sc.logic.Gb=class extends olympe.sc.logic.Tb{};olympe.sc.logic.Gb.O=olympe.dc.oa.j('0168a431d25001540002',olympe.sc.logic.Gb);olympe.sc.logic.Gb.N=S(olympe.sc.logic.Gb.O,olympe.sc.Va.D);olympe.sc.logic.Gb.D=olympe.sc.logic.Gb.O.ta('0168a431d91f25780003',olympe.dc.va.ORIGIN);olympe.sc.logic.Gb.H=olympe.sc.logic.Gb.O.ta('01621fb84e32000000a2',olympe.dc.va.ORIGIN);olympe.sc.logic.Gb.F=olympe.sc.logic.Gb.O.ta('01621fb84e32000000d2',olympe.dc.va.ORIGIN);
|
|
1179
1179
|
olympe.sc.logic.Gb.O.j=function(a,b,c,d,e,f=olympe.sc.logic.Gb){f=a.create(f);Y(f,olympe.dc.CloudObject.nameProp,b||'New output');a.Oa(olympe.sc.logic.Tb.typeRel,f,c);void 0!==e&&Y(f,olympe.sc.logic.Tb.j,e);d&&a.Oa(olympe.sc.Va.D,d,f);return f.W()};olympe.sc.logic.pd=class extends olympe.sc.logic.Function{run(a){Wn(this,a);const b=a.getParent(),c=this.db.Ib(this,olympe.sc.logic.pd.H),d=this.db.Ib(this,olympe.sc.logic.pd.F);a.on(c,e=>b.set(d,e),this.tag)}j(){return this.wg(olympe.sc.logic.pd.H).Dc()}X(){return this.wg(olympe.sc.logic.pd.F).Dc()}};olympe.sc.logic.pd.O=olympe.dc.oa.j('01621fb84e32000000a0',olympe.sc.logic.pd,olympe.sc.P.Ca);olympe.sc.logic.pd.H=S(olympe.sc.logic.pd.O,olympe.sc.logic.vb.F);
|
|
1180
1180
|
olympe.sc.logic.pd.F=S(olympe.sc.logic.pd.O,olympe.sc.logic.Gb.H);olympe.sc.logic.pd.O.j=function(a,b,c){b=a.create(olympe.sc.logic.pd);a.Oa(olympe.sc.logic.pd.F,b,c);return b.W()};olympe.sc.logic.pd.prototype.j.K=new olympe.C.J(()=>olympe.sc.logic.vb,[]);olympe.sc.logic.pd.prototype.X.K=new olympe.C.J(()=>olympe.sc.logic.Gb,[]);olympe.sc.logic.gd=class extends olympe.sc.logic.Function{run(a){const b=a.getParent(),c=this.db.Ib(this,olympe.sc.logic.gd.F),d=this.db.Ib(this,olympe.sc.logic.gd.H);b.on(c,e=>a.set(d,e),b.T())}X(){return this.wg(olympe.sc.logic.gd.F).Dc()}j(){return this.wg(olympe.sc.logic.gd.H).Dc()}};olympe.sc.logic.gd.O=olympe.dc.oa.j('01621fb84e32000000d0',olympe.sc.logic.gd,olympe.sc.P.Ca);olympe.sc.logic.gd.F=S(olympe.sc.logic.gd.O,olympe.sc.logic.vb.H);olympe.sc.logic.gd.H=S(olympe.sc.logic.gd.O,olympe.sc.logic.Gb.F);
|
|
1181
|
-
olympe.sc.logic.gd.O.j=function(a,b,c){b=a.create(olympe.sc.logic.gd);a.Oa(olympe.sc.logic.gd.F,b,c);return b.W()};olympe.sc.logic.gd.prototype.X.K=new olympe.C.J(()=>olympe.sc.logic.vb,[]);olympe.sc.logic.gd.prototype.j.K=new olympe.C.J(()=>olympe.sc.logic.Gb,[]);function bo(a,b,c){var d;const e=null!=(d=a.db.Ib(a,olympe.sc.logic.qb.R))?d:a.db.Ib(a,olympe.sc.logic.qb.H),f=a.db.Ib(a,olympe.sc.logic.qb.N);if(null!==e&&null!==f){d=a.db.Xf(po(a),olympe.dm.Ke)?new olympe.C.
|
|
1181
|
+
olympe.sc.logic.gd.O.j=function(a,b,c){b=a.create(olympe.sc.logic.gd);a.Oa(olympe.sc.logic.gd.F,b,c);return b.W()};olympe.sc.logic.gd.prototype.X.K=new olympe.C.J(()=>olympe.sc.logic.vb,[]);olympe.sc.logic.gd.prototype.j.K=new olympe.C.J(()=>olympe.sc.logic.Gb,[]);function bo(a,b,c){var d;const e=null!=(d=a.db.Ib(a,olympe.sc.logic.qb.R))?d:a.db.Ib(a,olympe.sc.logic.qb.H),f=a.db.Ib(a,olympe.sc.logic.qb.N);if(null!==e&&null!==f){d=a.db.Xf(po(a),olympe.dm.Ke)?new olympe.C.Zb('Pipe Context'):null;const k=a.j.bind(a,c,d);let l;const n=b.Dl(f,p=>{let q;null==(q=l)||q();l=p.on(e,k,f)});return()=>{k(null);n();let p;null==(p=l)||p()}}const g=k=>c(olympe.dc.ib.uc(k)),h=ih(a.db,a,olympe.sc.logic.qb.valueProp,g);return()=>{g(null);jh(a.db,a,olympe.sc.logic.qb.valueProp,
|
|
1182
1182
|
h)}}function po(a){let b=null,c=a.db.Ib(a,olympe.sc.logic.qb.D);c?b=a.db.Ib(c,olympe.dm.Property.typeRel):(c=a.db.Ib(a,olympe.sc.logic.qb.j))&&(b=a.db.Ib(c,olympe.sc.logic.Tb.typeRel));return b||olympe.dc.ea(olympe.dc.CloudObject)}
|
|
1183
1183
|
olympe.sc.logic.qb=class extends olympe.dc.CloudObject{constructor(a,b,c){super(a,b);this.G=c}j(a,b,c){const d=olympe.sc.uj(c);null==b||b.ug();b&&d instanceof olympe.dm.Ke?null==b||b.run(()=>{olympe.C.Yc([d.getValue()],e=>{a(e.valueOf())})}):a(d)}getValue(a){return this.Wf(olympe.sc.logic.qb.valueProp,a||olympe.dc.ib.uj,Object)}getType(){const a=this.transform(olympe.sc.logic.qb.j,olympe.sc.logic.Tb.typeRel);a.Sd(olympe.dc.CloudObject);return a.Kc()}hz(){return this.Vc(olympe.sc.logic.qb.N,olympe.dc.CloudObject)}fz(){return this.Vc(olympe.sc.logic.qb.R,
|
|
1184
1184
|
olympe.sc.logic.Gb)}gz(){return this.Vc(olympe.sc.logic.qb.H,olympe.dm.Property)}Dy(){return this.Vc(olympe.sc.logic.qb.F,olympe.dc.CloudObject)}By(){return this.Vc(olympe.sc.logic.qb.j,olympe.sc.logic.vb)}Cy(){return this.Vc(olympe.sc.logic.qb.D,olympe.dm.Property)}};olympe.sc.logic.qb.O=olympe.dc.oa.j('0168a431d91f25780000',olympe.sc.logic.qb,olympe.sc.P.Ca);olympe.sc.logic.qb.valueProp=olympe.sc.logic.qb.O.ja('0168a431d91f25780001');olympe.sc.logic.qb.N=olympe.sc.logic.qb.O.ta('0168a431d91f25780002');
|
|
@@ -1193,7 +1193,7 @@ this.G.error(`Error while listening on remote action ${this.db.name(l)} (${l}):
|
|
|
1193
1193
|
olympe.sc.logic.oa.j('0171889b060b6cd54300',olympe.sc.logic.kl.Kv);olympe.sc.logic.Rb={};olympe.sc.logic.Rb.sm=class extends olympe.sc.logic.Fd{R(){return this.j('016ac638085357047a2d')}};olympe.sc.logic.Rb.sm.O=mo('0169b6876a03f14ae61b',olympe.sc.logic.Rb.sm);olympe.sc.logic.Rb.sm.prototype.R.K=new olympe.C.J(()=>olympe.sc.logic.vb,[]);let to=null;olympe.sc.logic.Rb.Cm=class extends olympe.sc.logic.Fd{R(){return this.j('016ac63808535703691c')}F(a){if(null===to){let b;to=null!=(b=olympe.V.getParameter('sc.event.experimental'))?b:!1}return to?a.observe(Tn(this)[0]):super.F(a)}};olympe.sc.logic.Rb.Cm.O=mo('0169b6876a03f139d50a',olympe.sc.logic.Rb.Cm);olympe.sc.logic.Rb.Cm.prototype.R.K=new olympe.C.J(()=>olympe.sc.logic.vb,[]);olympe.sc.logic.Rb.Sm=class extends olympe.sc.logic.Fd{R(){return this.j('016ac63809a9a8e6db96')}X(){return this.D('016ac6380ab003363b3e')}};mo('01646ad602f933b8caaf',olympe.sc.logic.Rb.Sm);olympe.sc.logic.Rb.Sm.prototype.R.K=new olympe.C.J(()=>olympe.sc.logic.vb,[]);olympe.sc.logic.Rb.Sm.prototype.X.K=new olympe.C.J(()=>olympe.sc.logic.Gb,[]);olympe.sc.logic.Rb.Bk=class extends olympe.sc.logic.Fd{R(){return this.j('016ac6380bd98f1d91a0')}ba(){return this.D('016ac63c589ae38ca3ae')}X(){return this.D('016ac63c5a377fceabaa')}};mo('0168ec42fc01747a98b6',olympe.sc.logic.Rb.Bk);olympe.sc.logic.Rb.Bk.prototype.R.K=new olympe.C.J(()=>olympe.sc.logic.vb,[]);olympe.sc.logic.Rb.Bk.prototype.ba.K=new olympe.C.J(()=>olympe.sc.logic.Gb,[]);olympe.sc.logic.Rb.Bk.prototype.X.K=new olympe.C.J(()=>olympe.sc.logic.Gb,[]);olympe.sc.logic.Rb.Xg=class extends olympe.sc.logic.Fd{Em(){return this.j('017a7b07b09e3b22c8b4')}Dq(){return this.j('017a7b07ba05807a74b0')}Fm(){return this.D('017a7b0818c12388d731')}Gm(){return this.D('017a7b085146d5e69aec')}tv(){return olympe.C.da.D}};olympe.sc.logic.Rb.Xg.N='017a7b07b09e3b22c8b4';olympe.sc.logic.Rb.Xg.Ic='017a7b07ba05807a74b0';olympe.sc.logic.Rb.Xg.ia='017a7b0818c12388d731';olympe.sc.logic.Rb.Xg.j='017a7b085146d5e69aec';
|
|
1194
1194
|
olympe.sc.logic.Rb.Xg.O=mo('017a7b07a948e30508fa',olympe.sc.logic.Rb.Xg,olympe.sc.logic.$h);m=olympe.sc.logic.Rb.Xg.prototype;m.Em.K=new olympe.C.J(()=>olympe.sc.logic.vb,[]);m.Dq.K=new olympe.C.J(()=>olympe.sc.logic.vb,[]);m.Fm.K=new olympe.C.J(()=>olympe.sc.logic.Gb,[]);m.Gm.K=new olympe.C.J(()=>olympe.sc.logic.Gb,[]);m.tv.K=olympe.C.J.N;olympe.sc.logic.Rb.js=class extends olympe.sc.logic.Fd{R(){return this.j('016ac63c5b3ed0562740')}};mo('016a9766c230916ea5ec',olympe.sc.logic.Rb.js);olympe.sc.logic.Rb.js.prototype.R.K=new olympe.C.J(()=>olympe.sc.logic.vb,[]);olympe.sc.query={};olympe.sc.query.Co=class extends olympe.sc.Pg{};olympe.sc.query.Co.O=olympe.dc.oa.j('01631aacd8276ea98491',olympe.sc.query.Co);olympe.sc.query.mr=class extends olympe.dm.Enum{};olympe.sc.query.mr.O=olympe.dc.oa.j('01631aacd8276ea98495',olympe.sc.query.mr);olympe.sc.query.zr=class extends olympe.dm.Enum{};olympe.sc.query.zr.O=olympe.dc.oa.j('01631aacd8276ea98494',olympe.sc.query.zr);olympe.sc.query.Cr=class extends olympe.sc.Pg{};olympe.sc.query.Cr.O=olympe.dc.oa.j('01631aacd8276ea98492',olympe.sc.query.Cr);olympe.sc.query.oc=class extends olympe.dc.CloudObject{};olympe.sc.query.oc.O=olympe.dc.oa.j('01631aacd8276ea98493',olympe.sc.query.oc);olympe.sc.gp=class extends olympe.dc.CloudObject{};olympe.sc.gp.O=olympe.dc.oa.j('018312ceeb3e93618a85',olympe.sc.gp);olympe.sc.workflow={};olympe.sc.workflow.ObjectState=class extends olympe.dc.CloudObject{};olympe.sc.workflow.ObjectState.O=olympe.dc.oa.j('017ffdd8f0b1e31fe138',olympe.sc.workflow.ObjectState);olympe.sc.workflow.ObjectState.workflowProp=olympe.sc.workflow.ObjectState.O.ja('017ffdd8f0b1e31fe13e');olympe.sc.workflow.ObjectState.stateProp=olympe.sc.workflow.ObjectState.O.ja('017ffdd8f0b1e31fe139');olympe.sc.workflow.ObjectState.assigneeProp=olympe.sc.workflow.ObjectState.O.ja('017ffdd8f0b1e31fe13a');
|
|
1195
1195
|
olympe.sc.workflow.ObjectState.dateTimeProp=olympe.sc.workflow.ObjectState.O.ja('017ffdd8f0b1e31fe13b');olympe.sc.workflow.ObjectState.serializedObjectProp=olympe.sc.workflow.ObjectState.O.ja('017ffdd8f0b1e31fe13d');olympe.sc.workflow.ObjectState.objectRel=olympe.sc.workflow.ObjectState.O.ta('017ffdd8f0b1e31fe13c');olympe.sc.workflow.ObjectState.currentObjectRel=olympe.sc.workflow.ObjectState.O.ta('017ffdd8f0b1e31fe13f');olympe.sc.workflow.Gf=class extends olympe.sc.logic.Fd{uv(){return this.j('017ffe02381f9fac5060')}xv(){return this.j('017ffe02381f9fac5061')}yv(){return this.j('017ffe02381f9fac5062')}zy(){return this.j('017ffe02381f9fac5065')}vv(){return this.D('017ffe02381f9fac5063')}wv(){return this.D('017ffe02381f9fac5064')}};olympe.sc.workflow.Gf.O=mo('017ffde21f5fe0f704ce',olympe.sc.workflow.Gf);olympe.sc.workflow.Gf.j='017ffe02381f9fac5060';olympe.sc.workflow.Gf.Re='017ffe02381f9fac5061';
|
|
1196
|
-
olympe.sc.workflow.Gf.ff='017ffe02381f9fac5062';olympe.sc.workflow.Gf.ia='017ffe02381f9fac5065';olympe.sc.workflow.Gf.N='017ffe02381f9fac5063';olympe.sc.workflow.Gf.Ic='017ffe02381f9fac5064';m=olympe.sc.workflow.Gf.prototype;m.uv.K=new olympe.C.J(()=>olympe.sc.logic.vb,[]);m.xv.K=new olympe.C.J(()=>olympe.sc.logic.vb,[]);m.yv.K=new olympe.C.J(()=>olympe.sc.logic.vb,[]);m.zy.K=new olympe.C.J(()=>Map,[]);m.vv.K=new olympe.C.J(()=>olympe.sc.logic.Gb,[]);m.wv.K=new olympe.C.J(()=>olympe.sc.logic.Gb,[]);olympe.sc.workflow.df=class extends olympe.dm.BrickMetadata{Zc(){return this.Vc(olympe.sc.workflow.Workflow.statesRel
|
|
1196
|
+
olympe.sc.workflow.Gf.ff='017ffe02381f9fac5062';olympe.sc.workflow.Gf.ia='017ffe02381f9fac5065';olympe.sc.workflow.Gf.N='017ffe02381f9fac5063';olympe.sc.workflow.Gf.Ic='017ffe02381f9fac5064';m=olympe.sc.workflow.Gf.prototype;m.uv.K=new olympe.C.J(()=>olympe.sc.logic.vb,[]);m.xv.K=new olympe.C.J(()=>olympe.sc.logic.vb,[]);m.yv.K=new olympe.C.J(()=>olympe.sc.logic.vb,[]);m.zy.K=new olympe.C.J(()=>Map,[]);m.vv.K=new olympe.C.J(()=>olympe.sc.logic.Gb,[]);m.wv.K=new olympe.C.J(()=>olympe.sc.logic.Gb,[]);olympe.sc.workflow.df=class extends olympe.dm.BrickMetadata{Zc(){return this.Vc(olympe.sc.workflow.Workflow.statesRel.ac(),olympe.sc.workflow.Workflow).ka().concat(['.',this.ka()])}};olympe.sc.workflow.df.O=olympe.dc.oa.j('017ffdc2dda51d46b430',olympe.sc.workflow.df);olympe.sc.workflow.Transition=class extends olympe.dc.CloudObject{D(){return this.lt()}j(){return this.Vc(olympe.sc.workflow.Transition.fromStateRel,olympe.sc.workflow.df)}F(){return this.Vc(olympe.sc.workflow.Transition.toStateRel,olympe.sc.workflow.df)}Zc(){const a=this.Vc(olympe.sc.workflow.Transition.fromStateRel,olympe.sc.workflow.df);return a.Vc(olympe.sc.workflow.Workflow.statesRel.ac(),olympe.sc.workflow.Workflow).ka().concat(['.',a.ka(),'->',this.ka()])}};
|
|
1197
1197
|
olympe.sc.workflow.Transition.O=olympe.dc.oa.j('017ffdc633219f16beea',olympe.sc.workflow.Transition);olympe.sc.workflow.Transition.processRefProp=olympe.sc.workflow.Transition.O.ja('017ffdc633219f16beec');olympe.sc.workflow.Transition.fromStateRel=olympe.sc.workflow.Transition.O.ta('017ffdc2dda51d46b431');olympe.sc.workflow.Transition.toStateRel=olympe.sc.workflow.Transition.O.ta('017ffdc633219f16beeb');olympe.sc.workflow.Transition.prototype.D.K=new olympe.C.J(()=>olympe.dc.CloudObject,[]);
|
|
1198
1198
|
olympe.sc.workflow.Transition.prototype.j.K=new olympe.C.J(()=>olympe.sc.workflow.df,[]);olympe.sc.workflow.Transition.prototype.F.K=new olympe.C.J(()=>olympe.sc.workflow.df,[]);olympe.sc.workflow.Workflow=class extends olympe.dm.BrickMetadata{xe(){return olympe.sc.ze.Pe.Fh}F(){return this.ph(olympe.sc.workflow.Workflow.serializationEnabledProp)}j(){return this.Vc(olympe.sc.workflow.Workflow.dataTypeRel,olympe.sc.Bc)}D(){return this.Vc(olympe.sc.workflow.Workflow.initialStateRel,olympe.sc.workflow.df)}};olympe.sc.workflow.Workflow.O=olympe.dc.oa.j('017ffdc010e5bcc9c971',olympe.sc.workflow.Workflow);olympe.sc.workflow.Workflow.serializationEnabledProp=olympe.sc.workflow.Workflow.O.ja('017ffdc010e5bcc9c972');
|
|
1199
1199
|
olympe.sc.workflow.Workflow.dataTypeRel=olympe.sc.workflow.Workflow.O.ta('017ffdc010e5bcc9c973');olympe.sc.workflow.Workflow.statesRel=olympe.sc.workflow.Workflow.O.ta('017ffdc010e5bcc9c974');olympe.sc.workflow.Workflow.initialStateRel=olympe.sc.workflow.Workflow.O.ta('017ffdc010e5bcc9c975');olympe.sc.workflow.Workflow.prototype.F.K=olympe.C.J.N;olympe.sc.workflow.Workflow.prototype.j.K=new olympe.C.J(()=>olympe.sc.Bc,[]);
|
|
@@ -1201,7 +1201,7 @@ olympe.sc.workflow.Workflow.prototype.D.K=new olympe.C.J(()=>olympe.sc.workflow.
|
|
|
1201
1201
|
olympe.sc.qa.ob.O=olympe.dc.oa.j('011203300000000adef5',olympe.sc.qa.ob);olympe.sc.qa.ob.ji=olympe.sc.qa.ob.O.ja('011203300000000adef6');olympe.sc.qa.ob.ia=olympe.sc.qa.ob.O.ja('011203300000000adef7');olympe.sc.qa.ob.j=olympe.sc.qa.ob.O.ja('011203300000000adef8');olympe.sc.qa.ob.H=olympe.sc.qa.ob.O.ja('011203300000000adef9');olympe.sc.qa.ob.ba=olympe.sc.qa.ob.O.ja('011203300000000adefa');olympe.sc.qa.ob.X=olympe.sc.qa.ob.O.ja('011203300000000adefb');olympe.sc.qa.ob.D=olympe.sc.qa.ob.O.ja('011203300000000adefc');
|
|
1202
1202
|
olympe.sc.qa.ob.Z=olympe.sc.qa.ob.O.ja('011203300000000adefd');olympe.sc.qa.ob.N=olympe.sc.qa.ob.O.ja('011203300000000adefe');olympe.sc.qa.ob.R=olympe.sc.qa.ob.O.ja('011203300000000adeff');olympe.sc.qa.ob.F=olympe.sc.qa.ob.O.ja('011203300000000adee0');olympe.sc.qa.ob.pc={INIT:0,PA:1,Tk:2,Sk:3,gn:4,xD:5,Bb:9};m=olympe.sc.qa.ob.prototype;m.Av.K=olympe.C.J.N;m.Kz.K=olympe.C.J.N;m.Lc.K=olympe.C.J.F;m.Fy.K=olympe.C.J.D;m.$y.K=olympe.C.J.D;m.Zy.K=olympe.C.J.D;m.Sf.K=olympe.C.J.D;m.Py.K=olympe.C.J.D;
|
|
1203
1203
|
m.ny.K=olympe.C.J.D;m.Yy.K=olympe.C.J.D;m.zv.K=olympe.C.J.D;olympe.sc.qa.zm=class extends olympe.sc.qa.Gi{F(a){a.set(olympe.sc.xa.j.ro,!0);super.F(a)}wa(){return!0}};olympe.sc.qa.zm.O=olympe.dc.oa.j('0113032000000aca1102',olympe.sc.qa.zm,olympe.sc.P.Ca);olympe.sc.qa.cf=class extends olympe.sc.qa.Qc{j(){return(new olympe.dc.vk(this.W(),olympe.sc.qa.ob)).bb(olympe.sc.qa.cf.N).Xi().Kc()}};olympe.sc.qa.cf.O=olympe.dc.oa.j('011203300000000adef3',olympe.sc.qa.cf);olympe.sc.qa.cf.N=olympe.sc.qa.cf.O.ta('011203300000000adef4');S(olympe.sc.qa.ob.O,olympe.sc.qa.cf.N);
|
|
1204
|
-
olympe.sc.qa.cf.O.j=(a,b,c)=>{b=dm(a,b||'New Service Application model',olympe.sc.qa.cf,olympe.sc.qa.zm);a.Oa(olympe.sc.qa.Qc.j,b,c);c=a.create(olympe.sc.qa.ob).W();a.Oa(olympe.sc.qa.cf.N,b,c);return b.W()};olympe.sc.qa.cf.prototype.j.K=new olympe.C.J(()=>olympe.sc.qa.ob,[]);olympe.sc.eh=class extends olympe.dc.CloudObject{static get(){return olympe.dc.CloudObject.get('011203300000000adf0f')}};olympe.sc.eh.O=olympe.dc.oa.j('011203300000000adf00',olympe.sc.eh);olympe.sc.eh.D=olympe.sc.eh.O.ja('011203300000000adf01');olympe.sc.eh.j=olympe.sc.eh.O.ja('011203300000000adf02');olympe.sc.eh.F='011203300000000adf0f';olympe.sc.Bg={};olympe.sc.Bg.zz=a=>{var b=a.j;const c=olympe.dc.ga();var d=null;var e=null===go;for(const f of b.Xc())if((b=f.Wb())&&f.D()&&f.jb()===olympe.dc.Ia.SERVER&&Tl(a,f.tag())&&c.Nb(b,olympe.sc.Bc)){if(!e)throw new olympe.dc.cr;let g,h;null==d&&(d=null,null!==fo?d=fo:'string'===typeof eo&&(d=olympe.dc.td.from(eo).bb(olympe.sc.qa.Qc.j).bb(olympe.sc.uf.j
|
|
1204
|
+
olympe.sc.qa.cf.O.j=(a,b,c)=>{b=dm(a,b||'New Service Application model',olympe.sc.qa.cf,olympe.sc.qa.zm);a.Oa(olympe.sc.qa.Qc.j,b,c);c=a.create(olympe.sc.qa.ob).W();a.Oa(olympe.sc.qa.cf.N,b,c);return b.W()};olympe.sc.qa.cf.prototype.j.K=new olympe.C.J(()=>olympe.sc.qa.ob,[]);olympe.sc.eh=class extends olympe.dc.CloudObject{static get(){return olympe.dc.CloudObject.get('011203300000000adf0f')}};olympe.sc.eh.O=olympe.dc.oa.j('011203300000000adf00',olympe.sc.eh);olympe.sc.eh.D=olympe.sc.eh.O.ja('011203300000000adf01');olympe.sc.eh.j=olympe.sc.eh.O.ja('011203300000000adf02');olympe.sc.eh.F='011203300000000adf0f';olympe.sc.Bg={};olympe.sc.Bg.zz=a=>{var b=a.j;const c=olympe.dc.ga();var d=null;var e=null===go;for(const f of b.Xc())if((b=f.Wb())&&f.D()&&f.jb()===olympe.dc.Ia.SERVER&&Tl(a,f.tag())&&c.Nb(b,olympe.sc.Bc)){if(!e)throw new olympe.dc.cr;let g,h;null==d&&(d=null,null!==fo?d=fo:'string'===typeof eo&&(d=olympe.dc.td.from(eo).bb(olympe.sc.qa.Qc.j).bb(olympe.sc.uf.j.ac()).Dc()),d=null==(g=d)?void 0:g.W());d=null!=(h=d)?h:null;if(null===d)throw Error(`No business container for new instance of ${olympe.dc.ea(b)}`);a.Oa(olympe.sc.uf.D.W(),
|
|
1205
1205
|
d,f.tag())}};
|
|
1206
1206
|
olympe.sc.Bg.Mz=a=>{const b=a.j,c=olympe.dc.ga();for(const d of b.Xc()){const e=d.Wb();e&&!d.Bd()&&c.Nb(e,olympe.sc.Bc)&&d.Ab().forEach((f,g)=>{if(f instanceof olympe.dc.wc){const l=b.Wc(f.W());if(null===l)throw Error(`Try to assign an instance as complex property which is not created within the same transaction: ${f.W()}`);var h;f=null!=(h=null==l?void 0:l.Wb())?h:null;h=l.tag();let n;if(f===olympe.dc.ea(olympe.sc.Ud)){h=l.Ib(olympe.sc.Ud.j);if(!h)throw Error('No object reference found for new ObjectRef');var k;
|
|
1207
1207
|
let p;f=null!=(p=null==(k=b.Wc(h))?void 0:k.Wb())?p:c.model(h)}if(c.Xf(f,olympe.dm.Ke)){k=nn(f);let p;n=null!=(p=l.Pa(k.W()))?p:c.Pa(h,k)}if(void 0===n)throw Error(`Try to set a complex property to an instance of a DataType: ${c.name(e)} (${e})`);a.$c(d.tag(),new Map([[g,n]]));Yl(a,l.tag(),olympe.dc.Lb.Ec)}})}};
|
|
@@ -1215,7 +1215,7 @@ olympe.sc.Ya.prototype['delete']=olympe.sc.Ya.prototype.delete;olympe.sc.Ya.prot
|
|
|
1215
1215
|
olympe.zc.Ta=class{constructor(a,b){this.j=a;this.G=b;this.D=null;this.F='';this.G.info('HC Manager will execute application registered as:',this.j)}Oj(a,b,c=''){b||(b='default');b===this.j?(null===this.D?this.G.log('Application',c,'designated to be launched'):this.G.log('OVERRIDE: Application',c,'designated to be launched'),this.D=a,this.F=c):this.G.debug('ignoring application:'+c+' as it is registered under name '+b+' and not '+this.j)}run(){null!==this.D?(this.G.info('Running application:',this.F),
|
|
1216
1216
|
this.D.run()):this.G.error('No app registered under name: '+this.j)}};olympe.zc.Oj=function(a,b,c='default'){const d=a.Wa();c?d.debug('Pre-registering application '+b+' under name '+c+' (use '+olympe.zc.Config.ie+'='+c+' to start it)'):d.debug('Pre-registering application '+b+' as default one');a.yd(olympe.zc.P.Ea).config(c,[b],(e,f)=>f.Oj(e,c,b),e=>vo(e,c),'olympe.hc.registerApp')};olympe.zc.P={Ea:'hc.Manager',Ca:'hc.Logger'};olympe.zc.Config={ie:'hc.app',Wp:'hc.globalToken'};olympe.V.config(function(a){E(a,olympe.zc.Config.ie,'default');E(a,olympe.zc.Config.Wp,!1);D(a,olympe.zc.P.Ca,[olympe.ha.P.Ea],b=>b.dd('hc'));D(a,olympe.Eb.P.bh,[new olympe.V.ma(olympe.zc.Config.ie)],b=>b);D(a,olympe.auth.P.Nl,[olympe.Eb.P.bh,new olympe.V.ma(olympe.zc.Config.Wp)],(b,c)=>new olympe.auth.Bo(c?'':b));C(a,olympe.zc.P.Ea,olympe.zc.Ta,new olympe.V.ma(olympe.zc.Config.ie),olympe.zc.P.Ca)},'olympe.hc');
|
|
1217
1217
|
olympe.V.run([olympe.zc.P.Ea],a=>a.run(),'olympe.hc');olympe.sc.nb={};function wo(a){a.X=a.F.H(()=>u(function*(){return xo(a)}),'Stop application')}function yo(a){a.R=a.F.j(()=>olympe.C.Qa(a.Z)===olympe.C.da.D?Promise.resolve('The application is started'):Promise.reject('The application is not started'),'Application health check',olympe.host.Le.j.READINESS)}
|
|
1218
|
-
function zo(a){if(a.wa)return a.G.debug('Sending getContext request'),Mi(a.Ha).then(()=>{a.G.debug('synchronisation request successful');var f=a.j;go=null;eo=f}).catch(f=>{a.G.error('failed to synchronise (authenticated) with server: '+f.message)});const b=rn(a.D);!b&&ml();a.G.debug((b?'PULLING':'SUBSCRIBING')+' application '+a.j);const c=a.D.Db(),d=new Promise((f,g)=>{const h=olympe.dc.ga(),k=new olympe.C.
|
|
1218
|
+
function zo(a){if(a.wa)return a.G.debug('Sending getContext request'),Mi(a.Ha).then(()=>{a.G.debug('synchronisation request successful');var f=a.j;go=null;eo=f}).catch(f=>{a.G.error('failed to synchronise (authenticated) with server: '+f.message)});const b=rn(a.D);!b&&ml();a.G.debug((b?'PULLING':'SUBSCRIBING')+' application '+a.j);const c=a.D.Db(),d=new Promise((f,g)=>{const h=olympe.dc.ga(),k=new olympe.C.Zb('Primordial Subscription Context',c);Ai(k,a.j,l=>{l=h.xi(l)?l:h.model(l);return null!==l&&
|
|
1219
1219
|
h.Nb(l,olympe.sc.Ch)},{nd:b?olympe.dc.la.oc.Sg:olympe.dc.la.oc.xf,lo:!0,qt:!0}).subscribe(rxjs.Subscriber.create(c.tc(()=>{h.Nb(a.j,olympe.sc.qa.Qc)?(a.Ua.X(a.j,b),f()):Nd(a.N)?g(Error(`The specified application tag (${a.j}) is not an application or does not exist`)):(k.destroy(),a.N.connect().catch(l=>{g(Error(`Failed to load the app while offline, you might want to try again when online: ${l}`))}))}),l=>g(l)))}),e=new Promise(f=>{olympe.C.Yc([a.ia.we()],g=>{olympe.dc.la.re(g,olympe.dm.User,olympe.dc.Ia.SERVER).observe(c,
|
|
1220
1220
|
{nd:olympe.dc.la.oc.Gk,hl:'__code-as-data__'}).subscribe(()=>f())})});return Promise.all([d,e]).then(()=>{if(a.ba)return Ao(a);Ao(a).then(()=>{})})}
|
|
1221
1221
|
function Bo(a){a.G.info('Starting application '+a.j);const b=olympe.dc.ga();if(0<a.j.length){const c=Qf(b,a.j,a.D.Db().tc((f,g)=>{if(f)if(f=Vn(g),f instanceof olympe.sc.qa.Gi){a.G.debug('application retrieved: running');g=on(a.D,f);const h=new olympe.sc.$a.mw(a.H);ob(a.H,()=>Bn(a.D.state,h));pb(a.H,()=>{var k=h.T();return Dn(a.D.state,k)});a.lb&&a.H.start();f.run(g);'string'===typeof a.wb&&(new olympe.sc.ae).ba(f.W(),g,a.G);g.Nt(olympe.sc.xa.j.ro).then(()=>{var k;null==(k=d)||k.cancel();a.Z.update(olympe.C.da.D);
|
|
@@ -1225,8 +1225,8 @@ olympe.sc.nb.en=class{constructor(a,b,c,d,e,f,g,h,k,l){this.G=a;this.ia=b;this.N
|
|
|
1225
1225
|
c=olympe.L.vc.j.Ff,d=olympe.L.vc.j.Ac;olympe.C.Yc([this.N.getState()],e=>{switch(e){case b:case c:this.G.debug('Server session opened or working offline, start the application');a||(a=!0,zo(this).then(olympe.C.Za().tc(()=>Bo(this))));break;case d:this.G.debug('Impossible to open a connection to the orchestrator and offline mode is disabled.')}})}};olympe.sc.nb.en.j='app_instance';olympe.sc.nb.en.ya=[olympe.zc.Vt];olympe.sc.nb.vw=class{constructor(a,b,c,d){this.G=a;this.D=b;this.F=d.get('httpManifestPath');this.j=d.get('manifestCommon');if(!this.j)this.j={};else if('string'===typeof this.j)try{this.j=JSON.parse(this.j)}catch(e){this.G.warn('Invalid manifest common config'),this.j={}}}start(){const a=b=>{this.G.debug('Request URL',b.j());const c=(new URL(b.j())).searchParams.get('origin');if(c)return c;b=b.Dj();this.G.debug('Request headers',b);return b.origin?b.origin:b.iA?(new URL(b.iA)).origin:b[olympe.net.ra.Headers.Mp]&&
|
|
1226
1226
|
b[olympe.net.ra.Headers.Np]?b[olympe.net.ra.Headers.Np]+'://'+b[olympe.net.ra.Headers.Mp]:null};this.D.D('manifest',`${this.F}/:${'appTag'}`,[olympe.net.ra.Gd.GET],(b,c)=>{const d=this;return u(function*(){var e=c.get('appTag');d.G.debug('Processing request to serve manifest for app',e);if(20!==e.length)return new olympe.net.rd('Invalid appTag',olympe.net.ra.Ub.Rl);try{var f=yield olympe.dc.la.re(e,olympe.sc.qa.Qc).mb()}catch(h){return new olympe.net.rd(`Something went wrong: ${'string'===typeof h?
|
|
1227
1227
|
h:h.message}`,olympe.net.ra.Ub.Rl)}if(0===f.size())return new olympe.net.rd('App not found',olympe.net.ra.Ub.Zi);var g=a(b);f=f.Kc();g={name:f.name(),short_name:f.name(),id:e,start_url:g?`${g}?hc.app=sc.runtime&sc.app=${e}`:void 0,display:'standalone',backgroundColor:'#fff',icons:g?[{src:`${g}/images/logo.svg`,sizes:'150x150',type:'image/png'},{src:`${g}/images/logo.png`,sizes:'1024x1024',type:'image/png',purpose:'maskable any'}]:void 0};f=olympe.V.getParameter(`app.manifest.${e}`);if(!f)f={};else if('string'===
|
|
1228
|
-
typeof f)try{f=JSON.parse(f)}catch(h){d.G.warn(`Invalid manifest app config for app: ${e}`),f={}}e=Object.assign({},g,d.j,f);return new olympe.net.rd(JSON.stringify(e),olympe.net.ra.Ub.Uh,void 0,{'content-type':'application/json'})})}).catch(()=>this.G.error('Error while starting the RuntimeHTTPService'));this.G.debug('Started RuntimeHTTPService')}};function Co(a){var b=olympe.dm.DataSource.SERVER;const c=olympe.dc.la.from(a).bb(olympe.sc.qa.Qc.j).bb(olympe.dm.Ed.F
|
|
1229
|
-
olympe.sc.nb.Wk=class extends olympe.dc.sources.Wk{R(a){return this.db.Nb(a,olympe.sc.Bc)}X(a,b){if(!this.H){super.init();var c=olympe.dc.td.from(a).bb(olympe.sc.qa.Qc.j).Dc();if(!(c instanceof olympe.dm.hb))throw Error(`Impossible to initialize the source solver for the application ${a}: no project is linked to it`);b=b?olympe.dc.la.oc.Sg:olympe.dc.la.oc.xf;dl(this,c,b);c=new olympe.C.
|
|
1228
|
+
typeof f)try{f=JSON.parse(f)}catch(h){d.G.warn(`Invalid manifest app config for app: ${e}`),f={}}e=Object.assign({},g,d.j,f);return new olympe.net.rd(JSON.stringify(e),olympe.net.ra.Ub.Uh,void 0,{'content-type':'application/json'})})}).catch(()=>this.G.error('Error while starting the RuntimeHTTPService'));this.G.debug('Started RuntimeHTTPService')}};function Co(a){var b=olympe.dm.DataSource.SERVER;const c=olympe.dc.la.from(a).bb(olympe.sc.qa.Qc.j).bb(olympe.dm.Ed.F.ac()).bb(olympe.dm.Ed.j).Dc();a=olympe.dc.la.from(a).bb(olympe.sc.qa.Qc.j).bb(olympe.dm.hb.D).Dc();return c.concat(a).has(b)}
|
|
1229
|
+
olympe.sc.nb.Wk=class extends olympe.dc.sources.Wk{R(a){return this.db.Nb(a,olympe.sc.Bc)}X(a,b){if(!this.H){super.init();var c=olympe.dc.td.from(a).bb(olympe.sc.qa.Qc.j).Dc();if(!(c instanceof olympe.dm.hb))throw Error(`Impossible to initialize the source solver for the application ${a}: no project is linked to it`);b=b?olympe.dc.la.oc.Sg:olympe.dc.la.oc.xf;dl(this,c,b);c=new olympe.C.Zb('deployed data sources');olympe.dc.la.from(a).bb(olympe.sc.qa.Qc.ia).observe(c,{nd:b}).subscribe(d=>{const e=
|
|
1230
1230
|
new olympe.dc.Ya;d.zj().forEach(f=>{e.Oa(olympe.dm.DataSource.Nj,this.j,f)});d.Fj().forEach(f=>{e.hc(olympe.dm.DataSource.Nj,this.j,f)});e.mb()})}}};function Do(a){a.j||(a.j=setInterval(()=>{a.flush().catch(()=>{})},a.Z),'function'===typeof a.j.unref&&a.j.unref())}function Eo(a,b){return u(function*(){var c=N(re(a.R,olympe.L.Ob.Bp),olympe.net.ra.Gd.Rg,JSON.stringify(b),olympe.net.ra.ResponseType.mn);const d=de(a.N);O(c,{[olympe.net.ra.Headers.Eh]:olympe.net.ra.bk.JSON,[olympe.net.ra.Headers.Ql]:d.zd()});c=yield zj(a.X,c);a.G.trace('[Event Monitor] Response:',c)})}
|
|
1231
1231
|
olympe.sc.zu=class{constructor(a,b,c,d,e,f,g,h){this.G=a;this.X=b;this.N=c;this.R=d;this.H=e;this.F=f;this.Z='number'===typeof g?Math.max(1E3,g):36E5;this.host=h;this.D=new Map;this.j=null;this.F&&Do(this)}isEnabled(){return this.F}track(a,b){this.G.trace('[Event Monitor] tracking',a,b,this.F);this.F&&(a=`${a}||${b}`,b=this.D.get(a)||0,this.D.set(a,b+1))}flush(){const a=this;return u(function*(){if(0!==a.D.size){a.G.debug('[Event Monitor] flushing');var b=(new Date).toISOString(),c=[],d=olympe.dc.ga().name(a.H);
|
|
1232
1232
|
for(const [e,f]of a.D.entries()){const [g,h]=e.split('||');c.push({host:a.host,serviceAppName:d,eventType:g,eventName:h,count:f,timestamp:b})}try{yield Eo(a,c),a.G.debug('[Event Monitor] flush done'),a.D.clear()}catch(e){a.G.warn('[EventMonitor] flush failed:',(null==e?void 0:e.message)||e)}}})}destroy(){this.j&&(clearInterval(this.j),this.j=null);this.D.clear()}};olympe.sc.nb.P={mg:'sc.runtime.Main',bf:'sc.runtime.SourceSolver',Mr:'sc.runtime.appConfig',Pr:'sc.runtime.runtimeHTTPServiceConfig',Nr:'sc.runtime.RuntimeHTTPService',er:'sc.runtime.OfflineAppConfig',Cp:'sc.runtime.EventMonitor'};olympe.sc.nb.Config={hq:'app.httpManifestPath',Kq:'app.manifest.common',Gq:'sc.loadBusinessContainer',Dp:'eventMonitor.enabled',Ep:'eventMonitor.flushFrequency'};
|