[add] lib:plankton
Christian Fraß authored 3 years ago
|
lib/plankton/code/logic-impl.js 1) /*
lib/plankton/code/logic-impl.js 2) This file is part of »bacterio-plankton:code«.
lib/plankton/code/logic-impl.js 3)
|
[upd] server:lib:plankton
Christian Fraß authored 3 years ago
|
server/lib/plankton/code/logic-impl.js 4) Copyright 2016-2021 'Christian Fraß, Christian Neubauer, Martin Springwald GbR'
|
[add] lib:plankton
Christian Fraß authored 3 years ago
|
lib/plankton/code/logic-impl.js 5) <info@greenscale.de>
lib/plankton/code/logic-impl.js 6)
lib/plankton/code/logic-impl.js 7) »bacterio-plankton:code« is free software: you can redistribute it and/or modify
lib/plankton/code/logic-impl.js 8) it under the terms of the GNU Lesser General Public License as published by
lib/plankton/code/logic-impl.js 9) the Free Software Foundation, either version 3 of the License, or
lib/plankton/code/logic-impl.js 10) (at your option) any later version.
lib/plankton/code/logic-impl.js 11)
lib/plankton/code/logic-impl.js 12) »bacterio-plankton:code« is distributed in the hope that it will be useful,
lib/plankton/code/logic-impl.js 13) but WITHOUT ANY WARRANTY; without even the implied warranty of
lib/plankton/code/logic-impl.js 14) MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
lib/plankton/code/logic-impl.js 15) GNU Lesser General Public License for more details.
lib/plankton/code/logic-impl.js 16)
lib/plankton/code/logic-impl.js 17) You should have received a copy of the GNU Lesser General Public License
lib/plankton/code/logic-impl.js 18) along with »bacterio-plankton:code«. If not, see <http://www.gnu.org/licenses/>.
lib/plankton/code/logic-impl.js 19) */
lib/plankton/code/logic-impl.js 20) /*
lib/plankton/code/logic-impl.js 21) This file is part of »bacterio-plankton:code«.
lib/plankton/code/logic-impl.js 22)
|
[upd] server:lib:plankton
Christian Fraß authored 3 years ago
|
server/lib/plankton/code/logic-impl.js 23) Copyright 2016-2021 'Christian Fraß, Christian Neubauer, Martin Springwald GbR'
|
[add] lib:plankton
Christian Fraß authored 3 years ago
|
lib/plankton/code/logic-impl.js 24) <info@greenscale.de>
lib/plankton/code/logic-impl.js 25)
lib/plankton/code/logic-impl.js 26) »bacterio-plankton:code« is free software: you can redistribute it and/or modify
lib/plankton/code/logic-impl.js 27) it under the terms of the GNU Lesser General Public License as published by
lib/plankton/code/logic-impl.js 28) the Free Software Foundation, either version 3 of the License, or
lib/plankton/code/logic-impl.js 29) (at your option) any later version.
lib/plankton/code/logic-impl.js 30)
lib/plankton/code/logic-impl.js 31) »bacterio-plankton:code« is distributed in the hope that it will be useful,
lib/plankton/code/logic-impl.js 32) but WITHOUT ANY WARRANTY; without even the implied warranty of
lib/plankton/code/logic-impl.js 33) MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
lib/plankton/code/logic-impl.js 34) GNU Lesser General Public License for more details.
lib/plankton/code/logic-impl.js 35)
lib/plankton/code/logic-impl.js 36) You should have received a copy of the GNU Lesser General Public License
lib/plankton/code/logic-impl.js 37) along with »bacterio-plankton:code«. If not, see <http://www.gnu.org/licenses/>.
lib/plankton/code/logic-impl.js 38) */
lib/plankton/code/logic-impl.js 39) var lib_code;
lib/plankton/code/logic-impl.js 40) (function (lib_code) {
lib/plankton/code/logic-impl.js 41) /**
lib/plankton/code/logic-impl.js 42) * @author fenris
lib/plankton/code/logic-impl.js 43) */
lib/plankton/code/logic-impl.js 44) lib_trait.define("code", {
lib/plankton/code/logic-impl.js 45) "from": null,
lib/plankton/code/logic-impl.js 46) "to": null
lib/plankton/code/logic-impl.js 47) }, {
lib/plankton/code/logic-impl.js 48) "encode": {
lib/plankton/code/logic-impl.js 49) "shape": {
lib/plankton/code/logic-impl.js 50) "name": "function",
lib/plankton/code/logic-impl.js 51) "parameters": {
lib/plankton/code/logic-impl.js 52) "shape_input": {
lib/plankton/code/logic-impl.js 53) "name": "variable",
lib/plankton/code/logic-impl.js 54) "parameters": {
lib/plankton/code/logic-impl.js 55) "name": "from"
lib/plankton/code/logic-impl.js 56) }
lib/plankton/code/logic-impl.js 57) },
lib/plankton/code/logic-impl.js 58) "shape_output": {
lib/plankton/code/logic-impl.js 59) "name": "variable",
lib/plankton/code/logic-impl.js 60) "parameters": {
lib/plankton/code/logic-impl.js 61) "name": "to"
lib/plankton/code/logic-impl.js 62) }
lib/plankton/code/logic-impl.js 63) }
lib/plankton/code/logic-impl.js 64) }
lib/plankton/code/logic-impl.js 65) }
lib/plankton/code/logic-impl.js 66) },
lib/plankton/code/logic-impl.js 67) "decode": {
lib/plankton/code/logic-impl.js 68) "shape": {
lib/plankton/code/logic-impl.js 69) "name": "function",
lib/plankton/code/logic-impl.js 70) "parameters": {
lib/plankton/code/logic-impl.js 71) "shape_input": {
lib/plankton/code/logic-impl.js 72) "name": "variable",
lib/plankton/code/logic-impl.js 73) "parameters": {
lib/plankton/code/logic-impl.js 74) "name": "to"
lib/plankton/code/logic-impl.js 75) }
lib/plankton/code/logic-impl.js 76) },
lib/plankton/code/logic-impl.js 77) "shape_output": {
lib/plankton/code/logic-impl.js 78) "name": "variable",
lib/plankton/code/logic-impl.js 79) "parameters": {
lib/plankton/code/logic-impl.js 80) "name": "from"
lib/plankton/code/logic-impl.js 81) }
lib/plankton/code/logic-impl.js 82) }
lib/plankton/code/logic-impl.js 83) }
lib/plankton/code/logic-impl.js 84) }
lib/plankton/code/logic-impl.js 85) }
lib/plankton/code/logic-impl.js 86) });
lib/plankton/code/logic-impl.js 87) })(lib_code || (lib_code = {}));
lib/plankton/code/logic-impl.js 88) /*
lib/plankton/code/logic-impl.js 89) This file is part of »bacterio-plankton:code«.
lib/plankton/code/logic-impl.js 90)
|
[upd] server:lib:plankton
Christian Fraß authored 3 years ago
|
server/lib/plankton/code/logic-impl.js 91) Copyright 2016-2021 'Christian Fraß, Christian Neubauer, Martin Springwald GbR'
|
[add] lib:plankton
Christian Fraß authored 3 years ago
|
lib/plankton/code/logic-impl.js 92) <info@greenscale.de>
lib/plankton/code/logic-impl.js 93)
lib/plankton/code/logic-impl.js 94) »bacterio-plankton:code« is free software: you can redistribute it and/or modify
lib/plankton/code/logic-impl.js 95) it under the terms of the GNU Lesser General Public License as published by
lib/plankton/code/logic-impl.js 96) the Free Software Foundation, either version 3 of the License, or
lib/plankton/code/logic-impl.js 97) (at your option) any later version.
lib/plankton/code/logic-impl.js 98)
lib/plankton/code/logic-impl.js 99) »bacterio-plankton:code« is distributed in the hope that it will be useful,
lib/plankton/code/logic-impl.js 100) but WITHOUT ANY WARRANTY; without even the implied warranty of
lib/plankton/code/logic-impl.js 101) MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
lib/plankton/code/logic-impl.js 102) GNU Lesser General Public License for more details.
lib/plankton/code/logic-impl.js 103)
lib/plankton/code/logic-impl.js 104) You should have received a copy of the GNU Lesser General Public License
lib/plankton/code/logic-impl.js 105) along with »bacterio-plankton:code«. If not, see <http://www.gnu.org/licenses/>.
lib/plankton/code/logic-impl.js 106) */
lib/plankton/code/logic-impl.js 107) var lib_code;
lib/plankton/code/logic-impl.js 108) (function (lib_code) {
lib/plankton/code/logic-impl.js 109) /**
lib/plankton/code/logic-impl.js 110) * @author Christian Fraß <frass@greenscale.de>
lib/plankton/code/logic-impl.js 111) */
lib/plankton/code/logic-impl.js 112) function custom_encode(function_, from) {
lib/plankton/code/logic-impl.js 113) return function_(from);
lib/plankton/code/logic-impl.js 114) }
lib/plankton/code/logic-impl.js 115) lib_code.custom_encode = custom_encode;
lib/plankton/code/logic-impl.js 116) /**
lib/plankton/code/logic-impl.js 117) * @author Christian Fraß <frass@greenscale.de>
lib/plankton/code/logic-impl.js 118) */
lib/plankton/code/logic-impl.js 119) function custom_decode(function_, to) {
lib/plankton/code/logic-impl.js 120) return function_(to);
lib/plankton/code/logic-impl.js 121) }
lib/plankton/code/logic-impl.js 122) lib_code.custom_decode = custom_decode;
lib/plankton/code/logic-impl.js 123) })(lib_code || (lib_code = {}));
lib/plankton/code/logic-impl.js 124) /*
lib/plankton/code/logic-impl.js 125) This file is part of »bacterio-plankton:code«.
lib/plankton/code/logic-impl.js 126)
|
[upd] server:lib:plankton
Christian Fraß authored 3 years ago
|
server/lib/plankton/code/logic-impl.js 127) Copyright 2016-2021 'Christian Fraß, Christian Neubauer, Martin Springwald GbR'
|
[add] lib:plankton
Christian Fraß authored 3 years ago
|
lib/plankton/code/logic-impl.js 128) <info@greenscale.de>
lib/plankton/code/logic-impl.js 129)
lib/plankton/code/logic-impl.js 130) »bacterio-plankton:code« is free software: you can redistribute it and/or modify
lib/plankton/code/logic-impl.js 131) it under the terms of the GNU Lesser General Public License as published by
lib/plankton/code/logic-impl.js 132) the Free Software Foundation, either version 3 of the License, or
lib/plankton/code/logic-impl.js 133) (at your option) any later version.
lib/plankton/code/logic-impl.js 134)
lib/plankton/code/logic-impl.js 135) »bacterio-plankton:code« is distributed in the hope that it will be useful,
lib/plankton/code/logic-impl.js 136) but WITHOUT ANY WARRANTY; without even the implied warranty of
lib/plankton/code/logic-impl.js 137) MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
lib/plankton/code/logic-impl.js 138) GNU Lesser General Public License for more details.
lib/plankton/code/logic-impl.js 139)
lib/plankton/code/logic-impl.js 140) You should have received a copy of the GNU Lesser General Public License
lib/plankton/code/logic-impl.js 141) along with »bacterio-plankton:code«. If not, see <http://www.gnu.org/licenses/>.
lib/plankton/code/logic-impl.js 142) */
lib/plankton/code/logic-impl.js 143) var lib_code;
lib/plankton/code/logic-impl.js 144) (function (lib_code) {
lib/plankton/code/logic-impl.js 145) /**
lib/plankton/code/logic-impl.js 146) * @author fenris
lib/plankton/code/logic-impl.js 147) */
lib/plankton/code/logic-impl.js 148) class class_code_custom {
lib/plankton/code/logic-impl.js 149) /**
lib/plankton/code/logic-impl.js 150) * @author fenris
lib/plankton/code/logic-impl.js 151) */
lib/plankton/code/logic-impl.js 152) constructor(encodefunc, decodefunc) {
lib/plankton/code/logic-impl.js 153) this.encodefunc = encodefunc;
lib/plankton/code/logic-impl.js 154) this.decodefunc = decodefunc;
lib/plankton/code/logic-impl.js 155) }
lib/plankton/code/logic-impl.js 156) /**
lib/plankton/code/logic-impl.js 157) * @implementation
lib/plankton/code/logic-impl.js 158) * @author fenris
lib/plankton/code/logic-impl.js 159) */
lib/plankton/code/logic-impl.js 160) encode(x) {
lib/plankton/code/logic-impl.js 161) return lib_code.custom_encode(this.encodefunc, x);
lib/plankton/code/logic-impl.js 162) }
lib/plankton/code/logic-impl.js 163) /**
lib/plankton/code/logic-impl.js 164) * @implementation
lib/plankton/code/logic-impl.js 165) * @author fenris
lib/plankton/code/logic-impl.js 166) */
lib/plankton/code/logic-impl.js 167) decode(x) {
lib/plankton/code/logic-impl.js 168) return lib_code.custom_decode(this.decodefunc, x);
lib/plankton/code/logic-impl.js 169) }
lib/plankton/code/logic-impl.js 170) }
lib/plankton/code/logic-impl.js 171) lib_code.class_code_custom = class_code_custom;
lib/plankton/code/logic-impl.js 172) })(lib_code || (lib_code = {}));
lib/plankton/code/logic-impl.js 173) /*
lib/plankton/code/logic-impl.js 174) This file is part of »bacterio-plankton:code«.
lib/plankton/code/logic-impl.js 175)
|
[upd] server:lib:plankton
Christian Fraß authored 3 years ago
|
server/lib/plankton/code/logic-impl.js 176) Copyright 2016-2021 'Christian Fraß, Christian Neubauer, Martin Springwald GbR'
|
[add] lib:plankton
Christian Fraß authored 3 years ago
|
lib/plankton/code/logic-impl.js 177) <info@greenscale.de>
lib/plankton/code/logic-impl.js 178)
lib/plankton/code/logic-impl.js 179) »bacterio-plankton:code« is free software: you can redistribute it and/or modify
lib/plankton/code/logic-impl.js 180) it under the terms of the GNU Lesser General Public License as published by
lib/plankton/code/logic-impl.js 181) the Free Software Foundation, either version 3 of the License, or
lib/plankton/code/logic-impl.js 182) (at your option) any later version.
lib/plankton/code/logic-impl.js 183)
lib/plankton/code/logic-impl.js 184) »bacterio-plankton:code« is distributed in the hope that it will be useful,
lib/plankton/code/logic-impl.js 185) but WITHOUT ANY WARRANTY; without even the implied warranty of
lib/plankton/code/logic-impl.js 186) MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
lib/plankton/code/logic-impl.js 187) GNU Lesser General Public License for more details.
lib/plankton/code/logic-impl.js 188)
lib/plankton/code/logic-impl.js 189) You should have received a copy of the GNU Lesser General Public License
lib/plankton/code/logic-impl.js 190) along with »bacterio-plankton:code«. If not, see <http://www.gnu.org/licenses/>.
lib/plankton/code/logic-impl.js 191) */
lib/plankton/code/logic-impl.js 192) var lib_code;
lib/plankton/code/logic-impl.js 193) (function (lib_code) {
lib/plankton/code/logic-impl.js 194) /**
lib/plankton/code/logic-impl.js 195) * @author fenris
lib/plankton/code/logic-impl.js 196) */
lib/plankton/code/logic-impl.js 197) function inverse_encode(decode, to) {
lib/plankton/code/logic-impl.js 198) return decode(to);
lib/plankton/code/logic-impl.js 199) }
lib/plankton/code/logic-impl.js 200) lib_code.inverse_encode = inverse_encode;
lib/plankton/code/logic-impl.js 201) /**
lib/plankton/code/logic-impl.js 202) * @author fenris
lib/plankton/code/logic-impl.js 203) */
lib/plankton/code/logic-impl.js 204) function inverse_decode(encode, from) {
lib/plankton/code/logic-impl.js 205) return encode(from);
lib/plankton/code/logic-impl.js 206) }
lib/plankton/code/logic-impl.js 207) lib_code.inverse_decode = inverse_decode;
lib/plankton/code/logic-impl.js 208) })(lib_code || (lib_code = {}));
lib/plankton/code/logic-impl.js 209) /*
lib/plankton/code/logic-impl.js 210) This file is part of »bacterio-plankton:code«.
lib/plankton/code/logic-impl.js 211)
|
[upd] server:lib:plankton
Christian Fraß authored 3 years ago
|
server/lib/plankton/code/logic-impl.js 212) Copyright 2016-2021 'Christian Fraß, Christian Neubauer, Martin Springwald GbR'
|
[add] lib:plankton
Christian Fraß authored 3 years ago
|
lib/plankton/code/logic-impl.js 213) <info@greenscale.de>
lib/plankton/code/logic-impl.js 214)
lib/plankton/code/logic-impl.js 215) »bacterio-plankton:code« is free software: you can redistribute it and/or modify
lib/plankton/code/logic-impl.js 216) it under the terms of the GNU Lesser General Public License as published by
lib/plankton/code/logic-impl.js 217) the Free Software Foundation, either version 3 of the License, or
lib/plankton/code/logic-impl.js 218) (at your option) any later version.
lib/plankton/code/logic-impl.js 219)
lib/plankton/code/logic-impl.js 220) »bacterio-plankton:code« is distributed in the hope that it will be useful,
lib/plankton/code/logic-impl.js 221) but WITHOUT ANY WARRANTY; without even the implied warranty of
lib/plankton/code/logic-impl.js 222) MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
lib/plankton/code/logic-impl.js 223) GNU Lesser General Public License for more details.
lib/plankton/code/logic-impl.js 224)
lib/plankton/code/logic-impl.js 225) You should have received a copy of the GNU Lesser General Public License
lib/plankton/code/logic-impl.js 226) along with »bacterio-plankton:code«. If not, see <http://www.gnu.org/licenses/>.
lib/plankton/code/logic-impl.js 227) */
lib/plankton/code/logic-impl.js 228) var lib_code;
lib/plankton/code/logic-impl.js 229) (function (lib_code) {
lib/plankton/code/logic-impl.js 230) /**
lib/plankton/code/logic-impl.js 231) * @author fenris
lib/plankton/code/logic-impl.js 232) */
lib/plankton/code/logic-impl.js 233) lib_trait.attend("code", "inverse", {
lib/plankton/code/logic-impl.js 234) "from": {
lib/plankton/code/logic-impl.js 235) "name": "any"
lib/plankton/code/logic-impl.js 236) },
lib/plankton/code/logic-impl.js 237) "to": {
lib/plankton/code/logic-impl.js 238) "name": "any"
lib/plankton/code/logic-impl.js 239) }
lib/plankton/code/logic-impl.js 240) }, {
lib/plankton/code/logic-impl.js 241) "encode": (domain_parameters) => (x) => {
lib/plankton/code/logic-impl.js 242) return (lib_code.inverse_encode(y_ => lib_trait.call("code", "decode", domain_parameters.domain_subject)(y_), x));
lib/plankton/code/logic-impl.js 243) },
lib/plankton/code/logic-impl.js 244) "decode": (domain_parameters) => (y) => {
lib/plankton/code/logic-impl.js 245) return (lib_code.inverse_decode(x_ => lib_trait.call("code", "encode", domain_parameters.domain_subject)(x_), y));
lib/plankton/code/logic-impl.js 246) }
lib/plankton/code/logic-impl.js 247) });
lib/plankton/code/logic-impl.js 248) })(lib_code || (lib_code = {}));
lib/plankton/code/logic-impl.js 249) /*
lib/plankton/code/logic-impl.js 250) This file is part of »bacterio-plankton:code«.
lib/plankton/code/logic-impl.js 251)
|
[upd] server:lib:plankton
Christian Fraß authored 3 years ago
|
server/lib/plankton/code/logic-impl.js 252) Copyright 2016-2021 'Christian Fraß, Christian Neubauer, Martin Springwald GbR'
|
[add] lib:plankton
Christian Fraß authored 3 years ago
|
lib/plankton/code/logic-impl.js 253) <info@greenscale.de>
lib/plankton/code/logic-impl.js 254)
lib/plankton/code/logic-impl.js 255) »bacterio-plankton:code« is free software: you can redistribute it and/or modify
lib/plankton/code/logic-impl.js 256) it under the terms of the GNU Lesser General Public License as published by
lib/plankton/code/logic-impl.js 257) the Free Software Foundation, either version 3 of the License, or
lib/plankton/code/logic-impl.js 258) (at your option) any later version.
lib/plankton/code/logic-impl.js 259)
lib/plankton/code/logic-impl.js 260) »bacterio-plankton:code« is distributed in the hope that it will be useful,
lib/plankton/code/logic-impl.js 261) but WITHOUT ANY WARRANTY; without even the implied warranty of
lib/plankton/code/logic-impl.js 262) MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
lib/plankton/code/logic-impl.js 263) GNU Lesser General Public License for more details.
lib/plankton/code/logic-impl.js 264)
lib/plankton/code/logic-impl.js 265) You should have received a copy of the GNU Lesser General Public License
lib/plankton/code/logic-impl.js 266) along with »bacterio-plankton:code«. If not, see <http://www.gnu.org/licenses/>.
lib/plankton/code/logic-impl.js 267) */
lib/plankton/code/logic-impl.js 268) var lib_code;
lib/plankton/code/logic-impl.js 269) (function (lib_code) {
lib/plankton/code/logic-impl.js 270) /**
lib/plankton/code/logic-impl.js 271) * @author fenris
lib/plankton/code/logic-impl.js 272) */
lib/plankton/code/logic-impl.js 273) class class_code_inverse {
lib/plankton/code/logic-impl.js 274) /**
lib/plankton/code/logic-impl.js 275) * @author fenris
lib/plankton/code/logic-impl.js 276) */
lib/plankton/code/logic-impl.js 277) constructor(subject) {
lib/plankton/code/logic-impl.js 278) this.subject = subject;
lib/plankton/code/logic-impl.js 279) }
lib/plankton/code/logic-impl.js 280) /**
lib/plankton/code/logic-impl.js 281) * @implementation
lib/plankton/code/logic-impl.js 282) * @author fenris
lib/plankton/code/logic-impl.js 283) */
lib/plankton/code/logic-impl.js 284) encode(to) {
lib/plankton/code/logic-impl.js 285) return lib_code.inverse_encode(x => this.subject.decode(x), to);
lib/plankton/code/logic-impl.js 286) }
lib/plankton/code/logic-impl.js 287) /**
lib/plankton/code/logic-impl.js 288) * @implementation
lib/plankton/code/logic-impl.js 289) * @author fenris
lib/plankton/code/logic-impl.js 290) */
lib/plankton/code/logic-impl.js 291) decode(from) {
lib/plankton/code/logic-impl.js 292) return lib_code.inverse_decode(x => this.subject.encode(x), from);
lib/plankton/code/logic-impl.js 293) }
lib/plankton/code/logic-impl.js 294) }
lib/plankton/code/logic-impl.js 295) lib_code.class_code_inverse = class_code_inverse;
lib/plankton/code/logic-impl.js 296) })(lib_code || (lib_code = {}));
lib/plankton/code/logic-impl.js 297) /*
lib/plankton/code/logic-impl.js 298) This file is part of »bacterio-plankton:code«.
lib/plankton/code/logic-impl.js 299)
|
[upd] server:lib:plankton
Christian Fraß authored 3 years ago
|
server/lib/plankton/code/logic-impl.js 300) Copyright 2016-2021 'Christian Fraß, Christian Neubauer, Martin Springwald GbR'
|
[add] lib:plankton
Christian Fraß authored 3 years ago
|
lib/plankton/code/logic-impl.js 301) <info@greenscale.de>
lib/plankton/code/logic-impl.js 302)
lib/plankton/code/logic-impl.js 303) »bacterio-plankton:code« is free software: you can redistribute it and/or modify
lib/plankton/code/logic-impl.js 304) it under the terms of the GNU Lesser General Public License as published by
lib/plankton/code/logic-impl.js 305) the Free Software Foundation, either version 3 of the License, or
lib/plankton/code/logic-impl.js 306) (at your option) any later version.
lib/plankton/code/logic-impl.js 307)
lib/plankton/code/logic-impl.js 308) »bacterio-plankton:code« is distributed in the hope that it will be useful,
lib/plankton/code/logic-impl.js 309) but WITHOUT ANY WARRANTY; without even the implied warranty of
lib/plankton/code/logic-impl.js 310) MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
lib/plankton/code/logic-impl.js 311) GNU Lesser General Public License for more details.
lib/plankton/code/logic-impl.js 312)
lib/plankton/code/logic-impl.js 313) You should have received a copy of the GNU Lesser General Public License
lib/plankton/code/logic-impl.js 314) along with »bacterio-plankton:code«. If not, see <http://www.gnu.org/licenses/>.
lib/plankton/code/logic-impl.js 315) */
lib/plankton/code/logic-impl.js 316) var lib_code;
lib/plankton/code/logic-impl.js 317) (function (lib_code) {
lib/plankton/code/logic-impl.js 318) /**
lib/plankton/code/logic-impl.js 319) * @author fenris
lib/plankton/code/logic-impl.js 320) */
lib/plankton/code/logic-impl.js 321) function pair_encode(encode_first, encode_second, from) {
lib/plankton/code/logic-impl.js 322) let between = encode_first(from);
lib/plankton/code/logic-impl.js 323) let to = encode_second(between);
lib/plankton/code/logic-impl.js 324) return to;
lib/plankton/code/logic-impl.js 325) }
lib/plankton/code/logic-impl.js 326) lib_code.pair_encode = pair_encode;
lib/plankton/code/logic-impl.js 327) /**
lib/plankton/code/logic-impl.js 328) * @author fenris
lib/plankton/code/logic-impl.js 329) */
lib/plankton/code/logic-impl.js 330) function pair_decode(decode_first, decode_second, to) {
lib/plankton/code/logic-impl.js 331) let between = decode_second(to);
lib/plankton/code/logic-impl.js 332) let from = decode_first(between);
lib/plankton/code/logic-impl.js 333) return from;
lib/plankton/code/logic-impl.js 334) }
lib/plankton/code/logic-impl.js 335) lib_code.pair_decode = pair_decode;
lib/plankton/code/logic-impl.js 336) })(lib_code || (lib_code = {}));
lib/plankton/code/logic-impl.js 337) /*
lib/plankton/code/logic-impl.js 338) This file is part of »bacterio-plankton:code«.
lib/plankton/code/logic-impl.js 339)
|
[upd] server:lib:plankton
Christian Fraß authored 3 years ago
|
server/lib/plankton/code/logic-impl.js 340) Copyright 2016-2021 'Christian Fraß, Christian Neubauer, Martin Springwald GbR'
|
[add] lib:plankton
Christian Fraß authored 3 years ago
|
lib/plankton/code/logic-impl.js 341) <info@greenscale.de>
lib/plankton/code/logic-impl.js 342)
lib/plankton/code/logic-impl.js 343) »bacterio-plankton:code« is free software: you can redistribute it and/or modify
lib/plankton/code/logic-impl.js 344) it under the terms of the GNU Lesser General Public License as published by
lib/plankton/code/logic-impl.js 345) the Free Software Foundation, either version 3 of the License, or
lib/plankton/code/logic-impl.js 346) (at your option) any later version.
lib/plankton/code/logic-impl.js 347)
lib/plankton/code/logic-impl.js 348) »bacterio-plankton:code« is distributed in the hope that it will be useful,
lib/plankton/code/logic-impl.js 349) but WITHOUT ANY WARRANTY; without even the implied warranty of
lib/plankton/code/logic-impl.js 350) MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
lib/plankton/code/logic-impl.js 351) GNU Lesser General Public License for more details.
lib/plankton/code/logic-impl.js 352)
lib/plankton/code/logic-impl.js 353) You should have received a copy of the GNU Lesser General Public License
lib/plankton/code/logic-impl.js 354) along with »bacterio-plankton:code«. If not, see <http://www.gnu.org/licenses/>.
lib/plankton/code/logic-impl.js 355) */
lib/plankton/code/logic-impl.js 356) var lib_code;
lib/plankton/code/logic-impl.js 357) (function (lib_code) {
lib/plankton/code/logic-impl.js 358) /**
lib/plankton/code/logic-impl.js 359) * @author fenris
lib/plankton/code/logic-impl.js 360) */
lib/plankton/code/logic-impl.js 361) lib_trait.attend("code", "pair", {
lib/plankton/code/logic-impl.js 362) "from": {
lib/plankton/code/logic-impl.js 363) "name": "any"
lib/plankton/code/logic-impl.js 364) },
lib/plankton/code/logic-impl.js 365) "to": {
lib/plankton/code/logic-impl.js 366) "name": "any"
lib/plankton/code/logic-impl.js 367) }
lib/plankton/code/logic-impl.js 368) }, {
lib/plankton/code/logic-impl.js 369) "encode": (domain_parameters) => (x) => {
lib/plankton/code/logic-impl.js 370) return (lib_code.pair_encode(x_ => lib_trait.call("code", "encode", domain_parameters.domain_first)(x_), x_ => lib_trait.call("code", "encode", domain_parameters.domain_second)(x_), x));
lib/plankton/code/logic-impl.js 371) },
lib/plankton/code/logic-impl.js 372) "decode": (domain_parameters) => (y) => {
lib/plankton/code/logic-impl.js 373) return (lib_code.pair_decode(y_ => lib_trait.call("code", "decode", domain_parameters.domain_first)(y_), y_ => lib_trait.call("code", "decode", domain_parameters.domain_second)(y_), y));
lib/plankton/code/logic-impl.js 374) }
lib/plankton/code/logic-impl.js 375) });
lib/plankton/code/logic-impl.js 376) })(lib_code || (lib_code = {}));
lib/plankton/code/logic-impl.js 377) /*
lib/plankton/code/logic-impl.js 378) This file is part of »bacterio-plankton:code«.
lib/plankton/code/logic-impl.js 379)
|
[upd] server:lib:plankton
Christian Fraß authored 3 years ago
|
server/lib/plankton/code/logic-impl.js 380) Copyright 2016-2021 'Christian Fraß, Christian Neubauer, Martin Springwald GbR'
|
[add] lib:plankton
Christian Fraß authored 3 years ago
|
lib/plankton/code/logic-impl.js 381) <info@greenscale.de>
lib/plankton/code/logic-impl.js 382)
lib/plankton/code/logic-impl.js 383) »bacterio-plankton:code« is free software: you can redistribute it and/or modify
lib/plankton/code/logic-impl.js 384) it under the terms of the GNU Lesser General Public License as published by
lib/plankton/code/logic-impl.js 385) the Free Software Foundation, either version 3 of the License, or
lib/plankton/code/logic-impl.js 386) (at your option) any later version.
lib/plankton/code/logic-impl.js 387)
lib/plankton/code/logic-impl.js 388) »bacterio-plankton:code« is distributed in the hope that it will be useful,
lib/plankton/code/logic-impl.js 389) but WITHOUT ANY WARRANTY; without even the implied warranty of
lib/plankton/code/logic-impl.js 390) MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
lib/plankton/code/logic-impl.js 391) GNU Lesser General Public License for more details.
lib/plankton/code/logic-impl.js 392)
lib/plankton/code/logic-impl.js 393) You should have received a copy of the GNU Lesser General Public License
lib/plankton/code/logic-impl.js 394) along with »bacterio-plankton:code«. If not, see <http://www.gnu.org/licenses/>.
lib/plankton/code/logic-impl.js 395) */
lib/plankton/code/logic-impl.js 396) var lib_code;
lib/plankton/code/logic-impl.js 397) (function (lib_code) {
lib/plankton/code/logic-impl.js 398) /**
lib/plankton/code/logic-impl.js 399) * @author fenris
lib/plankton/code/logic-impl.js 400) */
lib/plankton/code/logic-impl.js 401) class class_code_pair {
lib/plankton/code/logic-impl.js 402) /**
lib/plankton/code/logic-impl.js 403) * @author fenris
lib/plankton/code/logic-impl.js 404) */
lib/plankton/code/logic-impl.js 405) constructor(first, second) {
lib/plankton/code/logic-impl.js 406) this.first = first;
lib/plankton/code/logic-impl.js 407) this.second = second;
lib/plankton/code/logic-impl.js 408) }
lib/plankton/code/logic-impl.js 409) /**
lib/plankton/code/logic-impl.js 410) * @implementation
lib/plankton/code/logic-impl.js 411) * @author fenris
lib/plankton/code/logic-impl.js 412) */
lib/plankton/code/logic-impl.js 413) encode(from) {
lib/plankton/code/logic-impl.js 414) return lib_code.pair_encode(x => this.first.encode(x), x => this.second.encode(x), from);
lib/plankton/code/logic-impl.js 415) }
lib/plankton/code/logic-impl.js 416) /**
lib/plankton/code/logic-impl.js 417) * @implementation
lib/plankton/code/logic-impl.js 418) * @author fenris
lib/plankton/code/logic-impl.js 419) */
lib/plankton/code/logic-impl.js 420) decode(to) {
lib/plankton/code/logic-impl.js 421) return lib_code.pair_decode(x => this.first.decode(x), x => this.second.decode(x), to);
lib/plankton/code/logic-impl.js 422) }
lib/plankton/code/logic-impl.js 423) }
lib/plankton/code/logic-impl.js 424) lib_code.class_code_pair = class_code_pair;
lib/plankton/code/logic-impl.js 425) })(lib_code || (lib_code = {}));
lib/plankton/code/logic-impl.js 426) /*
lib/plankton/code/logic-impl.js 427) This file is part of »bacterio-plankton:code«.
lib/plankton/code/logic-impl.js 428)
|
[upd] server:lib:plankton
Christian Fraß authored 3 years ago
|
server/lib/plankton/code/logic-impl.js 429) Copyright 2016-2021 'Christian Fraß, Christian Neubauer, Martin Springwald GbR'
|
[add] lib:plankton
Christian Fraß authored 3 years ago
|
lib/plankton/code/logic-impl.js 430) <info@greenscale.de>
lib/plankton/code/logic-impl.js 431)
lib/plankton/code/logic-impl.js 432) »bacterio-plankton:code« is free software: you can redistribute it and/or modify
lib/plankton/code/logic-impl.js 433) it under the terms of the GNU Lesser General Public License as published by
lib/plankton/code/logic-impl.js 434) the Free Software Foundation, either version 3 of the License, or
lib/plankton/code/logic-impl.js 435) (at your option) any later version.
lib/plankton/code/logic-impl.js 436)
lib/plankton/code/logic-impl.js 437) »bacterio-plankton:code« is distributed in the hope that it will be useful,
lib/plankton/code/logic-impl.js 438) but WITHOUT ANY WARRANTY; without even the implied warranty of
lib/plankton/code/logic-impl.js 439) MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
lib/plankton/code/logic-impl.js 440) GNU Lesser General Public License for more details.
lib/plankton/code/logic-impl.js 441)
lib/plankton/code/logic-impl.js 442) You should have received a copy of the GNU Lesser General Public License
lib/plankton/code/logic-impl.js 443) along with »bacterio-plankton:code«. If not, see <http://www.gnu.org/licenses/>.
lib/plankton/code/logic-impl.js 444) */
lib/plankton/code/logic-impl.js 445) var lib_code;
lib/plankton/code/logic-impl.js 446) (function (lib_code) {
lib/plankton/code/logic-impl.js 447) /**
lib/plankton/code/logic-impl.js 448) * @author fenris
lib/plankton/code/logic-impl.js 449) */
lib/plankton/code/logic-impl.js 450) function chain_encode(encode_links, from) {
lib/plankton/code/logic-impl.js 451) let value = from;
lib/plankton/code/logic-impl.js 452) encode_links
lib/plankton/code/logic-impl.js 453) .forEach((link) => {
lib/plankton/code/logic-impl.js 454) value = link(value);
lib/plankton/code/logic-impl.js 455) });
lib/plankton/code/logic-impl.js 456) return value;
lib/plankton/code/logic-impl.js 457) }
lib/plankton/code/logic-impl.js 458) lib_code.chain_encode = chain_encode;
lib/plankton/code/logic-impl.js 459) /**
lib/plankton/code/logic-impl.js 460) * @author fenris
lib/plankton/code/logic-impl.js 461) */
lib/plankton/code/logic-impl.js 462) function chain_decode(decode_links, to) {
lib/plankton/code/logic-impl.js 463) let value = to;
lib/plankton/code/logic-impl.js 464) decode_links
lib/plankton/code/logic-impl.js 465) .reverse()
lib/plankton/code/logic-impl.js 466) .forEach((link) => {
lib/plankton/code/logic-impl.js 467) value = link(value);
lib/plankton/code/logic-impl.js 468) });
lib/plankton/code/logic-impl.js 469) return value;
lib/plankton/code/logic-impl.js 470) }
lib/plankton/code/logic-impl.js 471) lib_code.chain_decode = chain_decode;
lib/plankton/code/logic-impl.js 472) })(lib_code || (lib_code = {}));
lib/plankton/code/logic-impl.js 473) /*
lib/plankton/code/logic-impl.js 474) This file is part of »bacterio-plankton:code«.
lib/plankton/code/logic-impl.js 475)
|
[upd] server:lib:plankton
Christian Fraß authored 3 years ago
|
server/lib/plankton/code/logic-impl.js 476) Copyright 2016-2021 'Christian Fraß, Christian Neubauer, Martin Springwald GbR'
|
[add] lib:plankton
Christian Fraß authored 3 years ago
|
lib/plankton/code/logic-impl.js 477) <info@greenscale.de>
lib/plankton/code/logic-impl.js 478)
lib/plankton/code/logic-impl.js 479) »bacterio-plankton:code« is free software: you can redistribute it and/or modify
lib/plankton/code/logic-impl.js 480) it under the terms of the GNU Lesser General Public License as published by
lib/plankton/code/logic-impl.js 481) the Free Software Foundation, either version 3 of the License, or
lib/plankton/code/logic-impl.js 482) (at your option) any later version.
lib/plankton/code/logic-impl.js 483)
lib/plankton/code/logic-impl.js 484) »bacterio-plankton:code« is distributed in the hope that it will be useful,
lib/plankton/code/logic-impl.js 485) but WITHOUT ANY WARRANTY; without even the implied warranty of
lib/plankton/code/logic-impl.js 486) MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
lib/plankton/code/logic-impl.js 487) GNU Lesser General Public License for more details.
lib/plankton/code/logic-impl.js 488)
lib/plankton/code/logic-impl.js 489) You should have received a copy of the GNU Lesser General Public License
lib/plankton/code/logic-impl.js 490) along with »bacterio-plankton:code«. If not, see <http://www.gnu.org/licenses/>.
lib/plankton/code/logic-impl.js 491) */
lib/plankton/code/logic-impl.js 492) var lib_code;
lib/plankton/code/logic-impl.js 493) (function (lib_code) {
lib/plankton/code/logic-impl.js 494) /**
lib/plankton/code/logic-impl.js 495) * @author fenris
lib/plankton/code/logic-impl.js 496) */
lib/plankton/code/logic-impl.js 497) class class_code_chain {
lib/plankton/code/logic-impl.js 498) /**
lib/plankton/code/logic-impl.js 499) * @author fenris
lib/plankton/code/logic-impl.js 500) */
lib/plankton/code/logic-impl.js 501) constructor(links) {
lib/plankton/code/logic-impl.js 502) this.links = links;
lib/plankton/code/logic-impl.js 503) }
lib/plankton/code/logic-impl.js 504) /**
lib/plankton/code/logic-impl.js 505) * @implementation
lib/plankton/code/logic-impl.js 506) * @author fenris
lib/plankton/code/logic-impl.js 507) */
lib/plankton/code/logic-impl.js 508) encode(from) {
lib/plankton/code/logic-impl.js 509) return lib_code.chain_encode(this.links.map((link) => (x => link.encode(x))), from);
lib/plankton/code/logic-impl.js 510) }
lib/plankton/code/logic-impl.js 511) /**
lib/plankton/code/logic-impl.js 512) * @implementation
lib/plankton/code/logic-impl.js 513) * @author fenris
lib/plankton/code/logic-impl.js 514) */
lib/plankton/code/logic-impl.js 515) decode(to) {
lib/plankton/code/logic-impl.js 516) return lib_code.chain_decode(this.links.map((link) => (x => link.decode(x))), to);
lib/plankton/code/logic-impl.js 517) }
lib/plankton/code/logic-impl.js 518) }
lib/plankton/code/logic-impl.js 519) lib_code.class_code_chain = class_code_chain;
lib/plankton/code/logic-impl.js 520) })(lib_code || (lib_code = {}));
lib/plankton/code/logic-impl.js 521) /*
lib/plankton/code/logic-impl.js 522) This file is part of »bacterio-plankton:code«.
lib/plankton/code/logic-impl.js 523)
|
[upd] server:lib:plankton
Christian Fraß authored 3 years ago
|
server/lib/plankton/code/logic-impl.js 524) Copyright 2016-2021 'Christian Fraß, Christian Neubauer, Martin Springwald GbR'
|
[add] lib:plankton
Christian Fraß authored 3 years ago
|
lib/plankton/code/logic-impl.js 525) <info@greenscale.de>
lib/plankton/code/logic-impl.js 526)
lib/plankton/code/logic-impl.js 527) »bacterio-plankton:code« is free software: you can redistribute it and/or modify
lib/plankton/code/logic-impl.js 528) it under the terms of the GNU Lesser General Public License as published by
lib/plankton/code/logic-impl.js 529) the Free Software Foundation, either version 3 of the License, or
lib/plankton/code/logic-impl.js 530) (at your option) any later version.
lib/plankton/code/logic-impl.js 531)
lib/plankton/code/logic-impl.js 532) »bacterio-plankton:code« is distributed in the hope that it will be useful,
lib/plankton/code/logic-impl.js 533) but WITHOUT ANY WARRANTY; without even the implied warranty of
lib/plankton/code/logic-impl.js 534) MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
lib/plankton/code/logic-impl.js 535) GNU Lesser General Public License for more details.
lib/plankton/code/logic-impl.js 536)
lib/plankton/code/logic-impl.js 537) You should have received a copy of the GNU Lesser General Public License
lib/plankton/code/logic-impl.js 538) along with »bacterio-plankton:code«. If not, see <http://www.gnu.org/licenses/>.
lib/plankton/code/logic-impl.js 539) */
lib/plankton/code/logic-impl.js 540) var lib_code;
lib/plankton/code/logic-impl.js 541) (function (lib_code) {
lib/plankton/code/logic-impl.js 542) /**
lib/plankton/code/logic-impl.js 543) * @author Christian Fraß <frass@greenscale.de>
lib/plankton/code/logic-impl.js 544) */
lib/plankton/code/logic-impl.js 545) function flatten_encode(from, keys = null) {
lib/plankton/code/logic-impl.js 546) if (keys === null) {
lib/plankton/code/logic-impl.js 547) if (from.length > 0) {
lib/plankton/code/logic-impl.js 548) keys = Object.keys(from[0]);
lib/plankton/code/logic-impl.js 549) }
lib/plankton/code/logic-impl.js 550) else {
lib/plankton/code/logic-impl.js 551) throw (new Error("encoding impossible"));
lib/plankton/code/logic-impl.js 552) }
lib/plankton/code/logic-impl.js 553) }
lib/plankton/code/logic-impl.js 554) return {
lib/plankton/code/logic-impl.js 555) "keys": keys,
lib/plankton/code/logic-impl.js 556) "data": from.map((line) => keys.map((name) => line[name])),
lib/plankton/code/logic-impl.js 557) };
lib/plankton/code/logic-impl.js 558) }
lib/plankton/code/logic-impl.js 559) lib_code.flatten_encode = flatten_encode;
lib/plankton/code/logic-impl.js 560) /**
lib/plankton/code/logic-impl.js 561) * @author Christian Fraß <frass@greenscale.de>
lib/plankton/code/logic-impl.js 562) */
lib/plankton/code/logic-impl.js 563) function flatten_decode(to) {
lib/plankton/code/logic-impl.js 564) return (to.data
lib/plankton/code/logic-impl.js 565) .map((dataset) => {
lib/plankton/code/logic-impl.js 566) let dataset_ = {};
lib/plankton/code/logic-impl.js 567) dataset
lib/plankton/code/logic-impl.js 568) .forEach((value, index) => {
lib/plankton/code/logic-impl.js 569) const name = to.keys[index];
lib/plankton/code/logic-impl.js 570) dataset_[name] = value;
lib/plankton/code/logic-impl.js 571) });
lib/plankton/code/logic-impl.js 572) return dataset_;
lib/plankton/code/logic-impl.js 573) }));
lib/plankton/code/logic-impl.js 574) }
lib/plankton/code/logic-impl.js 575) lib_code.flatten_decode = flatten_decode;
lib/plankton/code/logic-impl.js 576) })(lib_code || (lib_code = {}));
lib/plankton/code/logic-impl.js 577) /*
lib/plankton/code/logic-impl.js 578) This file is part of »bacterio-plankton:code«.
lib/plankton/code/logic-impl.js 579)
|
[upd] server:lib:plankton
Christian Fraß authored 3 years ago
|
server/lib/plankton/code/logic-impl.js 580) Copyright 2016-2021 'Christian Fraß, Christian Neubauer, Martin Springwald GbR'
|
[add] lib:plankton
Christian Fraß authored 3 years ago
|
lib/plankton/code/logic-impl.js 581) <info@greenscale.de>
lib/plankton/code/logic-impl.js 582)
lib/plankton/code/logic-impl.js 583) »bacterio-plankton:code« is free software: you can redistribute it and/or modify
lib/plankton/code/logic-impl.js 584) it under the terms of the GNU Lesser General Public License as published by
lib/plankton/code/logic-impl.js 585) the Free Software Foundation, either version 3 of the License, or
lib/plankton/code/logic-impl.js 586) (at your option) any later version.
lib/plankton/code/logic-impl.js 587)
lib/plankton/code/logic-impl.js 588) »bacterio-plankton:code« is distributed in the hope that it will be useful,
lib/plankton/code/logic-impl.js 589) but WITHOUT ANY WARRANTY; without even the implied warranty of
lib/plankton/code/logic-impl.js 590) MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
lib/plankton/code/logic-impl.js 591) GNU Lesser General Public License for more details.
lib/plankton/code/logic-impl.js 592)
lib/plankton/code/logic-impl.js 593) You should have received a copy of the GNU Lesser General Public License
lib/plankton/code/logic-impl.js 594) along with »bacterio-plankton:code«. If not, see <http://www.gnu.org/licenses/>.
lib/plankton/code/logic-impl.js 595) */
lib/plankton/code/logic-impl.js 596) var lib_code;
lib/plankton/code/logic-impl.js 597) (function (lib_code) {
lib/plankton/code/logic-impl.js 598) /**
lib/plankton/code/logic-impl.js 599) * @author fenris
lib/plankton/code/logic-impl.js 600) */
lib/plankton/code/logic-impl.js 601) class class_code_flatten {
lib/plankton/code/logic-impl.js 602) /**
lib/plankton/code/logic-impl.js 603) * @author fenris
lib/plankton/code/logic-impl.js 604) */
lib/plankton/code/logic-impl.js 605) constructor() {
lib/plankton/code/logic-impl.js 606) }
lib/plankton/code/logic-impl.js 607) /**
lib/plankton/code/logic-impl.js 608) * @implementation
lib/plankton/code/logic-impl.js 609) * @author fenris
lib/plankton/code/logic-impl.js 610) */
lib/plankton/code/logic-impl.js 611) encode(x) {
lib/plankton/code/logic-impl.js 612) return lib_code.flatten_encode(x);
lib/plankton/code/logic-impl.js 613) }
lib/plankton/code/logic-impl.js 614) /**
lib/plankton/code/logic-impl.js 615) * @implementation
lib/plankton/code/logic-impl.js 616) * @author fenris
lib/plankton/code/logic-impl.js 617) */
lib/plankton/code/logic-impl.js 618) decode(x) {
lib/plankton/code/logic-impl.js 619) return lib_code.flatten_decode(x);
lib/plankton/code/logic-impl.js 620) }
lib/plankton/code/logic-impl.js 621) }
lib/plankton/code/logic-impl.js 622) lib_code.class_code_flatten = class_code_flatten;
lib/plankton/code/logic-impl.js 623) })(lib_code || (lib_code = {}));
lib/plankton/code/logic-impl.js 624) /*
lib/plankton/code/logic-impl.js 625) This file is part of »bacterio-plankton:code«.
lib/plankton/code/logic-impl.js 626)
|
[upd] server:lib:plankton
Christian Fraß authored 3 years ago
|
server/lib/plankton/code/logic-impl.js 627) Copyright 2016-2021 'Christian Fraß, Christian Neubauer, Martin Springwald GbR'
|
[add] lib:plankton
Christian Fraß authored 3 years ago
|
lib/plankton/code/logic-impl.js 628) <info@greenscale.de>
lib/plankton/code/logic-impl.js 629)
lib/plankton/code/logic-impl.js 630) »bacterio-plankton:code« is free software: you can redistribute it and/or modify
lib/plankton/code/logic-impl.js 631) it under the terms of the GNU Lesser General Public License as published by
lib/plankton/code/logic-impl.js 632) the Free Software Foundation, either version 3 of the License, or
lib/plankton/code/logic-impl.js 633) (at your option) any later version.
lib/plankton/code/logic-impl.js 634)
lib/plankton/code/logic-impl.js 635) »bacterio-plankton:code« is distributed in the hope that it will be useful,
lib/plankton/code/logic-impl.js 636) but WITHOUT ANY WARRANTY; without even the implied warranty of
lib/plankton/code/logic-impl.js 637) MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
lib/plankton/code/logic-impl.js 638) GNU Lesser General Public License for more details.
lib/plankton/code/logic-impl.js 639)
lib/plankton/code/logic-impl.js 640) You should have received a copy of the GNU Lesser General Public License
lib/plankton/code/logic-impl.js 641) along with »bacterio-plankton:code«. If not, see <http://www.gnu.org/licenses/>.
lib/plankton/code/logic-impl.js 642) */
lib/plankton/code/logic-impl.js 643) var lib_code;
lib/plankton/code/logic-impl.js 644) (function (lib_code) {
lib/plankton/code/logic-impl.js 645) /**
lib/plankton/code/logic-impl.js 646) * @author fenris
lib/plankton/code/logic-impl.js 647) */
lib/plankton/code/logic-impl.js 648) const _prefix = "DATE:";
lib/plankton/code/logic-impl.js 649) /**
lib/plankton/code/logic-impl.js 650) * @author fenris
lib/plankton/code/logic-impl.js 651) */
lib/plankton/code/logic-impl.js 652) function jsdate_encode(date) {
lib/plankton/code/logic-impl.js 653) let isostring = date.toISOString();
lib/plankton/code/logic-impl.js 654) let date_ = (_prefix + isostring);
lib/plankton/code/logic-impl.js 655) return date_;
lib/plankton/code/logic-impl.js 656) }
lib/plankton/code/logic-impl.js 657) lib_code.jsdate_encode = jsdate_encode;
lib/plankton/code/logic-impl.js 658) /**
lib/plankton/code/logic-impl.js 659) * @author fenris
lib/plankton/code/logic-impl.js 660) */
lib/plankton/code/logic-impl.js 661) function jsdate_decode(date_) {
lib/plankton/code/logic-impl.js 662) if ((typeof (date_) === "string") && (date_.startsWith(_prefix))) {
lib/plankton/code/logic-impl.js 663) let isostring = date_.slice(_prefix.length);
lib/plankton/code/logic-impl.js 664) let timestamp = Date.parse(isostring);
lib/plankton/code/logic-impl.js 665) if (!isNaN(timestamp)) {
lib/plankton/code/logic-impl.js 666) let date = (new Date(timestamp));
lib/plankton/code/logic-impl.js 667) return date;
lib/plankton/code/logic-impl.js 668) }
lib/plankton/code/logic-impl.js 669) else {
lib/plankton/code/logic-impl.js 670) let message = ("'" + isostring + "' does not seem to be an ISO-string of a date");
lib/plankton/code/logic-impl.js 671) throw (new Error(message));
lib/plankton/code/logic-impl.js 672) }
lib/plankton/code/logic-impl.js 673) }
lib/plankton/code/logic-impl.js 674) else {
lib/plankton/code/logic-impl.js 675) let message = ("expected an encoded date object to be a string starting with '" + _prefix + "'");
lib/plankton/code/logic-impl.js 676) throw (new Error(message));
lib/plankton/code/logic-impl.js 677) }
lib/plankton/code/logic-impl.js 678) }
lib/plankton/code/logic-impl.js 679) lib_code.jsdate_decode = jsdate_decode;
lib/plankton/code/logic-impl.js 680) })(lib_code || (lib_code = {}));
lib/plankton/code/logic-impl.js 681) /*
lib/plankton/code/logic-impl.js 682) This file is part of »bacterio-plankton:code«.
lib/plankton/code/logic-impl.js 683)
|
[upd] server:lib:plankton
Christian Fraß authored 3 years ago
|
server/lib/plankton/code/logic-impl.js 684) Copyright 2016-2021 'Christian Fraß, Christian Neubauer, Martin Springwald GbR'
|
[add] lib:plankton
Christian Fraß authored 3 years ago
|
lib/plankton/code/logic-impl.js 685) <info@greenscale.de>
lib/plankton/code/logic-impl.js 686)
lib/plankton/code/logic-impl.js 687) »bacterio-plankton:code« is free software: you can redistribute it and/or modify
lib/plankton/code/logic-impl.js 688) it under the terms of the GNU Lesser General Public License as published by
lib/plankton/code/logic-impl.js 689) the Free Software Foundation, either version 3 of the License, or
lib/plankton/code/logic-impl.js 690) (at your option) any later version.
lib/plankton/code/logic-impl.js 691)
lib/plankton/code/logic-impl.js 692) »bacterio-plankton:code« is distributed in the hope that it will be useful,
lib/plankton/code/logic-impl.js 693) but WITHOUT ANY WARRANTY; without even the implied warranty of
lib/plankton/code/logic-impl.js 694) MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
lib/plankton/code/logic-impl.js 695) GNU Lesser General Public License for more details.
lib/plankton/code/logic-impl.js 696)
lib/plankton/code/logic-impl.js 697) You should have received a copy of the GNU Lesser General Public License
lib/plankton/code/logic-impl.js 698) along with »bacterio-plankton:code«. If not, see <http://www.gnu.org/licenses/>.
lib/plankton/code/logic-impl.js 699) */
lib/plankton/code/logic-impl.js 700) var lib_code;
lib/plankton/code/logic-impl.js 701) (function (lib_code) {
lib/plankton/code/logic-impl.js 702) /**
lib/plankton/code/logic-impl.js 703) * @author fenris
lib/plankton/code/logic-impl.js 704) */
lib/plankton/code/logic-impl.js 705) lib_trait.attend("code", "jsdate", {
lib/plankton/code/logic-impl.js 706) "from": {
lib/plankton/code/logic-impl.js 707) "name": "date"
lib/plankton/code/logic-impl.js 708) },
lib/plankton/code/logic-impl.js 709) "to": {
lib/plankton/code/logic-impl.js 710) "name": "string"
lib/plankton/code/logic-impl.js 711) }
lib/plankton/code/logic-impl.js 712) }, {
lib/plankton/code/logic-impl.js 713) "encode": () => (x) => {
lib/plankton/code/logic-impl.js 714) return lib_code.jsdate_encode(x);
lib/plankton/code/logic-impl.js 715) },
lib/plankton/code/logic-impl.js 716) "decode": () => (y) => {
lib/plankton/code/logic-impl.js 717) return lib_code.jsdate_decode(y);
lib/plankton/code/logic-impl.js 718) }
lib/plankton/code/logic-impl.js 719) });
lib/plankton/code/logic-impl.js 720) })(lib_code || (lib_code = {}));
lib/plankton/code/logic-impl.js 721) /*
lib/plankton/code/logic-impl.js 722) This file is part of »bacterio-plankton:code«.
lib/plankton/code/logic-impl.js 723)
|
[upd] server:lib:plankton
Christian Fraß authored 3 years ago
|
server/lib/plankton/code/logic-impl.js 724) Copyright 2016-2021 'Christian Fraß, Christian Neubauer, Martin Springwald GbR'
|
[add] lib:plankton
Christian Fraß authored 3 years ago
|
lib/plankton/code/logic-impl.js 725) <info@greenscale.de>
lib/plankton/code/logic-impl.js 726)
lib/plankton/code/logic-impl.js 727) »bacterio-plankton:code« is free software: you can redistribute it and/or modify
lib/plankton/code/logic-impl.js 728) it under the terms of the GNU Lesser General Public License as published by
lib/plankton/code/logic-impl.js 729) the Free Software Foundation, either version 3 of the License, or
lib/plankton/code/logic-impl.js 730) (at your option) any later version.
lib/plankton/code/logic-impl.js 731)
lib/plankton/code/logic-impl.js 732) »bacterio-plankton:code« is distributed in the hope that it will be useful,
lib/plankton/code/logic-impl.js 733) but WITHOUT ANY WARRANTY; without even the implied warranty of
lib/plankton/code/logic-impl.js 734) MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
lib/plankton/code/logic-impl.js 735) GNU Lesser General Public License for more details.
lib/plankton/code/logic-impl.js 736)
lib/plankton/code/logic-impl.js 737) You should have received a copy of the GNU Lesser General Public License
lib/plankton/code/logic-impl.js 738) along with »bacterio-plankton:code«. If not, see <http://www.gnu.org/licenses/>.
lib/plankton/code/logic-impl.js 739) */
lib/plankton/code/logic-impl.js 740) var lib_code;
lib/plankton/code/logic-impl.js 741) (function (lib_code) {
lib/plankton/code/logic-impl.js 742) /**
lib/plankton/code/logic-impl.js 743) * @author fenris
lib/plankton/code/logic-impl.js 744) */
lib/plankton/code/logic-impl.js 745) class class_code_jsdate {
lib/plankton/code/logic-impl.js 746) /**
lib/plankton/code/logic-impl.js 747) * @author fenris
lib/plankton/code/logic-impl.js 748) */
lib/plankton/code/logic-impl.js 749) constructor() {
lib/plankton/code/logic-impl.js 750) }
lib/plankton/code/logic-impl.js 751) /**
lib/plankton/code/logic-impl.js 752) * @implementation
lib/plankton/code/logic-impl.js 753) * @author fenris
lib/plankton/code/logic-impl.js 754) */
lib/plankton/code/logic-impl.js 755) encode(x) {
lib/plankton/code/logic-impl.js 756) return lib_code.jsdate_encode(x);
lib/plankton/code/logic-impl.js 757) }
lib/plankton/code/logic-impl.js 758) /**
lib/plankton/code/logic-impl.js 759) * @implementation
lib/plankton/code/logic-impl.js 760) * @author fenris
lib/plankton/code/logic-impl.js 761) */
lib/plankton/code/logic-impl.js 762) decode(x) {
lib/plankton/code/logic-impl.js 763) return lib_code.jsdate_decode(x);
lib/plankton/code/logic-impl.js 764) }
lib/plankton/code/logic-impl.js 765) }
lib/plankton/code/logic-impl.js 766) lib_code.class_code_jsdate = class_code_jsdate;
lib/plankton/code/logic-impl.js 767) })(lib_code || (lib_code = {}));
lib/plankton/code/logic-impl.js 768) /*
lib/plankton/code/logic-impl.js 769) This file is part of »bacterio-plankton:code«.
lib/plankton/code/logic-impl.js 770)
|
[upd] server:lib:plankton
Christian Fraß authored 3 years ago
|
server/lib/plankton/code/logic-impl.js 771) Copyright 2016-2021 'Christian Fraß, Christian Neubauer, Martin Springwald GbR'
|
[add] lib:plankton
Christian Fraß authored 3 years ago
|
lib/plankton/code/logic-impl.js 772) <info@greenscale.de>
lib/plankton/code/logic-impl.js 773)
lib/plankton/code/logic-impl.js 774) »bacterio-plankton:code« is free software: you can redistribute it and/or modify
lib/plankton/code/logic-impl.js 775) it under the terms of the GNU Lesser General Public License as published by
lib/plankton/code/logic-impl.js 776) the Free Software Foundation, either version 3 of the License, or
lib/plankton/code/logic-impl.js 777) (at your option) any later version.
lib/plankton/code/logic-impl.js 778)
lib/plankton/code/logic-impl.js 779) »bacterio-plankton:code« is distributed in the hope that it will be useful,
lib/plankton/code/logic-impl.js 780) but WITHOUT ANY WARRANTY; without even the implied warranty of
lib/plankton/code/logic-impl.js 781) MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
lib/plankton/code/logic-impl.js 782) GNU Lesser General Public License for more details.
lib/plankton/code/logic-impl.js 783)
lib/plankton/code/logic-impl.js 784) You should have received a copy of the GNU Lesser General Public License
lib/plankton/code/logic-impl.js 785) along with »bacterio-plankton:code«. If not, see <http://www.gnu.org/licenses/>.
lib/plankton/code/logic-impl.js 786) */
lib/plankton/code/logic-impl.js 787) var lib_code;
lib/plankton/code/logic-impl.js 788) (function (lib_code) {
lib/plankton/code/logic-impl.js 789) /**
lib/plankton/code/logic-impl.js 790) * @author Christian Fraß <frass@greenscale.de>
lib/plankton/code/logic-impl.js 791) * @todo escaping
lib/plankton/code/logic-impl.js 792) */
lib/plankton/code/logic-impl.js 793) function csv_encode(from, { "delimiter": delimiter = ",", "linebreak": linebreak = "\n", } = {}) {
lib/plankton/code/logic-impl.js 794) return (([]
lib/plankton/code/logic-impl.js 795) .concat((from.head !== null)
lib/plankton/code/logic-impl.js 796) ? [from.head]
lib/plankton/code/logic-impl.js 797) : [])
lib/plankton/code/logic-impl.js 798) .concat(from.data))
lib/plankton/code/logic-impl.js 799) .map((dataset) => dataset.join(delimiter))
lib/plankton/code/logic-impl.js 800) .join(linebreak));
lib/plankton/code/logic-impl.js 801) }
lib/plankton/code/logic-impl.js 802) lib_code.csv_encode = csv_encode;
lib/plankton/code/logic-impl.js 803) /**
lib/plankton/code/logic-impl.js 804) * @author Christian Fraß <frass@greenscale.de>
lib/plankton/code/logic-impl.js 805) */
lib/plankton/code/logic-impl.js 806) function csv_decode(to, { "delimiter": delimiter = ",", "linebreak": linebreak = "\n", "with_head": with_head = true, } = {}) {
lib/plankton/code/logic-impl.js 807) const array = (to.split(linebreak)
lib/plankton/code/logic-impl.js 808) .map((line) => line.split(delimiter)));
lib/plankton/code/logic-impl.js 809) return (with_head
lib/plankton/code/logic-impl.js 810) ? ({
lib/plankton/code/logic-impl.js 811) "head": array[0],
lib/plankton/code/logic-impl.js 812) "data": array.slice(1),
lib/plankton/code/logic-impl.js 813) })
lib/plankton/code/logic-impl.js 814) : ({
lib/plankton/code/logic-impl.js 815) "head": null,
lib/plankton/code/logic-impl.js 816) "data": array,
lib/plankton/code/logic-impl.js 817) }));
lib/plankton/code/logic-impl.js 818) }
lib/plankton/code/logic-impl.js 819) lib_code.csv_decode = csv_decode;
lib/plankton/code/logic-impl.js 820) })(lib_code || (lib_code = {}));
lib/plankton/code/logic-impl.js 821) /*
lib/plankton/code/logic-impl.js 822) This file is part of »bacterio-plankton:code«.
lib/plankton/code/logic-impl.js 823)
|
[upd] server:lib:plankton
Christian Fraß authored 3 years ago
|
server/lib/plankton/code/logic-impl.js 824) Copyright 2016-2021 'Christian Fraß, Christian Neubauer, Martin Springwald GbR'
|