git.iko.soy/rowtype-yoga/psfp
on 4516421 help sign in
153 lines 5.6 kB history raw
1// Generated by purs version 0.13.6
2"use strict";
3var Control_Category = require("../Control.Category/index.js");
4var Control_Semigroupoid = require("../Control.Semigroupoid/index.js");
5var Data_Functor = require("../Data.Functor/index.js");
6var Data_Symbol = require("../Data.Symbol/index.js");
7var Foreign = require("../Foreign/index.js");
8var Foreign_Object = require("../Foreign.Object/index.js");
9var Record = require("../Record/index.js");
10var Record_Builder = require("../Record.Builder/index.js");
11var Simple_JSON = require("../Simple.JSON/index.js");
12var Type_Data_RowList = require("../Type.Data.RowList/index.js");
13var Type_Proxy = require("../Type.Proxy/index.js");
14var Untagged_Coercible = require("../Untagged.Coercible/index.js");
15var PrimitiveJss = (function () {
16 function PrimitiveJss(value0) {
17 this.value0 = value0;
18 };
19 PrimitiveJss.create = function (value0) {
20 return new PrimitiveJss(value0);
21 };
22 return PrimitiveJss;
23})();
24var ArrayJss = (function () {
25 function ArrayJss(value0) {
26 this.value0 = value0;
27 };
28 ArrayJss.create = function (value0) {
29 return new ArrayJss(value0);
30 };
31 return ArrayJss;
32})();
33var PropsJss = (function () {
34 function PropsJss(value0) {
35 this.value0 = value0;
36 };
37 PropsJss.create = function (value0) {
38 return new PropsJss(value0);
39 };
40 return PropsJss;
41})();
42var NestedJss = (function () {
43 function NestedJss(value0) {
44 this.value0 = value0;
45 };
46 NestedJss.create = function (value0) {
47 return new NestedJss(value0);
48 };
49 return NestedJss;
50})();
51var JSSClasses = function (x) {
52 return x;
53};
54var JSSAbleFields = function (jssifyFields) {
55 this.jssifyFields = jssifyFields;
56};
57var JSSAble = function (jss) {
58 this.jss = jss;
59};
60var wfJSSElem = new Simple_JSON.WriteForeign(function (v) {
61 if (v instanceof PrimitiveJss) {
62 return Foreign.unsafeToForeign(v.value0);
63 };
64 if (v instanceof ArrayJss) {
65 return Simple_JSON.write(Simple_JSON.writeForeignArray(Simple_JSON.writeForeignForeign))(Data_Functor.map(Data_Functor.functorArray)(Simple_JSON.writeImpl(wfJSSElem))(v.value0));
66 };
67 if (v instanceof PropsJss) {
68 return Foreign.unsafeToForeign(Data_Functor.map(Data_Functor.functorFn)(Simple_JSON.writeImpl(wfJSSElem))(v.value0));
69 };
70 if (v instanceof NestedJss) {
71 return Simple_JSON.writeImpl(Simple_JSON.writeForeignObject(Simple_JSON.writeForeignForeign))(Data_Functor.map(Foreign_Object.functorObject)(Simple_JSON.writeImpl(wfJSSElem))(v.value0));
72 };
73 throw new Error("Failed pattern match at JSS (line 69, column 15 - line 73, column 57): " + [ v.constructor.name ]);
74});
75var jssifyFields = function (dict) {
76 return dict.jssifyFields;
77};
78var jssClasses = function (dictHomogeneous) {
79 return JSSClasses;
80};
81var jssAbleString = new JSSAble((function () {
82 var $351 = Untagged_Coercible.coerce();
83 return function ($352) {
84 return PrimitiveJss.create($351($352));
85 };
86})());
87var jssAbleRecord = function (dictJSSAbleFields) {
88 return function (dictRowToList) {
89 return function (dictHomogeneous) {
90 return new JSSAble(function (rec) {
91 var builder = jssifyFields(dictJSSAbleFields)(Type_Proxy["Proxy"].value)(Type_Data_RowList.RLProxy.value)(rec);
92 var built = Record_Builder.build(builder)({});
93 return NestedJss.create(Foreign_Object.fromHomogeneous()(built));
94 });
95 };
96 };
97};
98var jssAbleInt = new JSSAble((function () {
99 var $353 = Untagged_Coercible.coerce();
100 return function ($354) {
101 return PrimitiveJss.create($353($354));
102 };
103})());
104var jssAbleFieldsNil = new JSSAbleFields(function (v) {
105 return function (v1) {
106 return function (v2) {
107 return Control_Category.identity(Record_Builder.categoryBuilder);
108 };
109 };
110});
111var jss = function (dict) {
112 return dict.jss;
113};
114var jssAbleFieldsCons = function (dictIsSymbol) {
115 return function (dictJSSAble) {
116 return function (dictLacks) {
117 return function (dictCons) {
118 return function (dictCons1) {
119 return function (dictJSSAbleFields) {
120 return new JSSAbleFields(function (v) {
121 return function (v1) {
122 return function (r) {
123 var rest = jssifyFields(dictJSSAbleFields)(Type_Proxy["Proxy"].value)(Type_Data_RowList.RLProxy.value)(r);
124 var val = Record.get(dictIsSymbol)()(Data_Symbol.SProxy.value)(r);
125 var first = Record_Builder.insert()()(dictIsSymbol)(Data_Symbol.SProxy.value)(jss(dictJSSAble)(val));
126 return Control_Semigroupoid.compose(Record_Builder.semigroupoidBuilder)(first)(rest);
127 };
128 };
129 });
130 };
131 };
132 };
133 };
134 };
135};
136module.exports = {
137 jss: jss,
138 jssifyFields: jssifyFields,
139 JSSClasses: JSSClasses,
140 jssClasses: jssClasses,
141 PrimitiveJss: PrimitiveJss,
142 ArrayJss: ArrayJss,
143 PropsJss: PropsJss,
144 NestedJss: NestedJss,
145 JSSAble: JSSAble,
146 JSSAbleFields: JSSAbleFields,
147 wfJSSElem: wfJSSElem,
148 jssAbleString: jssAbleString,
149 jssAbleInt: jssAbleInt,
150 jssAbleRecord: jssAbleRecord,
151 jssAbleFieldsNil: jssAbleFieldsNil,
152 jssAbleFieldsCons: jssAbleFieldsCons
153};