@genesislcap/foundation-utils 14.404.0 → 14.406.0-workspaces.1

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.
@@ -7,6 +7,14 @@
7
7
  "path": "src/index.ts",
8
8
  "declarations": [],
9
9
  "exports": [
10
+ {
11
+ "kind": "js",
12
+ "name": "*",
13
+ "declaration": {
14
+ "name": "*",
15
+ "package": "./converters"
16
+ }
17
+ },
10
18
  {
11
19
  "kind": "js",
12
20
  "name": "*",
@@ -198,256 +206,13 @@
198
206
  "name": "*",
199
207
  "package": "./inactivity"
200
208
  }
201
- }
202
- ]
203
- },
204
- {
205
- "kind": "javascript-module",
206
- "path": "src/data/inMemoryDatabase.ts",
207
- "declarations": [
208
- {
209
- "kind": "class",
210
- "description": "An in memory database of specific DatabaseRecord types.",
211
- "name": "InMemoryDatabase",
212
- "members": [
213
- {
214
- "kind": "field",
215
- "name": "isWorking",
216
- "type": {
217
- "text": "boolean"
218
- },
219
- "privacy": "public",
220
- "default": "false"
221
- },
222
- {
223
- "kind": "field",
224
- "name": "records",
225
- "type": {
226
- "text": "Record<string, T>"
227
- },
228
- "privacy": "private",
229
- "default": "{}"
230
- },
231
- {
232
- "kind": "field",
233
- "name": "beforeUpdateListeners",
234
- "privacy": "private"
235
- },
236
- {
237
- "kind": "field",
238
- "name": "afterUpdateListeners",
239
- "privacy": "private"
240
- },
241
- {
242
- "kind": "method",
243
- "name": "create",
244
- "privacy": "public",
245
- "return": {
246
- "type": {
247
- "text": "Promise<DatabaseAccessResult.Create<T>>"
248
- }
249
- },
250
- "parameters": [
251
- {
252
- "name": "newValue",
253
- "type": {
254
- "text": "Omit<T, 'id'>"
255
- }
256
- }
257
- ]
258
- },
259
- {
260
- "kind": "method",
261
- "name": "read",
262
- "privacy": "public",
263
- "return": {
264
- "type": {
265
- "text": "Promise<DatabaseAccessResult.Read<T>>"
266
- }
267
- },
268
- "parameters": [
269
- {
270
- "name": "id",
271
- "type": {
272
- "text": "string"
273
- }
274
- }
275
- ]
276
- },
277
- {
278
- "kind": "method",
279
- "name": "update",
280
- "privacy": "public",
281
- "return": {
282
- "type": {
283
- "text": "Promise<DatabaseAccessResult.Update<T>>"
284
- }
285
- },
286
- "parameters": [
287
- {
288
- "name": "id",
289
- "type": {
290
- "text": "string"
291
- }
292
- },
293
- {
294
- "name": "newValue",
295
- "type": {
296
- "text": "Omit<Partial<T>, 'id'>"
297
- }
298
- }
299
- ]
300
- },
301
- {
302
- "kind": "method",
303
- "name": "delete",
304
- "privacy": "public",
305
- "return": {
306
- "type": {
307
- "text": "Promise<DatabaseAccessResult.Delete>"
308
- }
309
- },
310
- "parameters": [
311
- {
312
- "name": "id",
313
- "type": {
314
- "text": "string"
315
- }
316
- }
317
- ]
318
- },
319
- {
320
- "kind": "method",
321
- "name": "visit",
322
- "privacy": "public",
323
- "return": {
324
- "type": {
325
- "text": "Promise<void>"
326
- }
327
- },
328
- "parameters": [
329
- {
330
- "name": "visitor",
331
- "type": {
332
- "text": "(record: T) => void"
333
- }
334
- }
335
- ]
336
- },
337
- {
338
- "kind": "method",
339
- "name": "onBeforeUpdate",
340
- "privacy": "public",
341
- "return": {
342
- "type": {
343
- "text": "() => void"
344
- }
345
- },
346
- "parameters": [
347
- {
348
- "name": "listener",
349
- "type": {
350
- "text": "Listener<DatabaseEvent.BeforeUpdate<T>>"
351
- }
352
- }
353
- ]
354
- },
355
- {
356
- "kind": "method",
357
- "name": "onAfterUpdate",
358
- "privacy": "public",
359
- "return": {
360
- "type": {
361
- "text": "() => void"
362
- }
363
- },
364
- "parameters": [
365
- {
366
- "name": "listener",
367
- "type": {
368
- "text": "Listener<DatabaseEvent.AfterUpdate<T>>"
369
- }
370
- }
371
- ]
372
- }
373
- ]
374
- }
375
- ],
376
- "exports": [
377
- {
378
- "kind": "js",
379
- "name": "InMemoryDatabase",
380
- "declaration": {
381
- "name": "InMemoryDatabase",
382
- "module": "src/data/inMemoryDatabase.ts"
383
- }
384
- }
385
- ]
386
- },
387
- {
388
- "kind": "javascript-module",
389
- "path": "src/data/index.ts",
390
- "declarations": [],
391
- "exports": [
392
- {
393
- "kind": "js",
394
- "name": "*",
395
- "declaration": {
396
- "name": "*",
397
- "package": "./inMemoryDatabase"
398
- }
399
- }
400
- ]
401
- },
402
- {
403
- "kind": "javascript-module",
404
- "path": "src/decorators/index.ts",
405
- "declarations": [],
406
- "exports": [
209
+ },
407
210
  {
408
211
  "kind": "js",
409
212
  "name": "*",
410
213
  "declaration": {
411
214
  "name": "*",
412
- "package": "./renderOnChange"
413
- }
414
- }
415
- ]
416
- },
417
- {
418
- "kind": "javascript-module",
419
- "path": "src/decorators/renderOnChange.ts",
420
- "declarations": [
421
- {
422
- "kind": "function",
423
- "name": "renderOnChange",
424
- "parameters": [
425
- {
426
- "name": "target",
427
- "type": {
428
- "text": "FASTElement & { render(): void }"
429
- },
430
- "description": "The target to define the property change handler on."
431
- },
432
- {
433
- "name": "name",
434
- "type": {
435
- "text": "string"
436
- },
437
- "description": "The property name."
438
- }
439
- ],
440
- "description": "Defines a property changed handler that calls a render() method on the target as an internal observation enhancement.",
441
- "privacy": "public"
442
- }
443
- ],
444
- "exports": [
445
- {
446
- "kind": "js",
447
- "name": "renderOnChange",
448
- "declaration": {
449
- "name": "renderOnChange",
450
- "module": "src/decorators/renderOnChange.ts"
215
+ "package": "./workspace"
451
216
  }
452
217
  }
453
218
  ]
@@ -917,170 +682,462 @@
917
682
  "exports": [
918
683
  {
919
684
  "kind": "js",
920
- "name": "BUILDER",
921
- "declaration": {
922
- "name": "_BUILDER",
923
- "module": "src/env/variables.ts"
924
- }
925
- },
926
- {
927
- "kind": "js",
928
- "name": "PUBLIC_PATH",
929
- "declaration": {
930
- "name": "_PUBLIC_PATH",
931
- "module": "src/env/variables.ts"
932
- }
933
- },
934
- {
935
- "kind": "js",
936
- "name": "SOCKET_EXT",
937
- "declaration": {
938
- "name": "_SOCKET_EXT",
939
- "module": "src/env/variables.ts"
940
- }
941
- },
942
- {
943
- "kind": "js",
944
- "name": "FORCE_HTTP",
945
- "declaration": {
946
- "name": "_FORCE_HTTP",
947
- "module": "src/env/variables.ts"
948
- }
949
- },
950
- {
951
- "kind": "js",
952
- "name": "GENESIS_SOCKET_URL",
953
- "declaration": {
954
- "name": "GENESIS_SOCKET_URL",
955
- "module": "src/env/variables.ts"
956
- }
957
- },
958
- {
959
- "kind": "js",
960
- "name": "API_HOST",
961
- "declaration": {
962
- "name": "_API_HOST",
963
- "module": "src/env/variables.ts"
964
- }
965
- },
966
- {
967
- "kind": "js",
968
- "name": "HTTP_CONFIG",
969
- "declaration": {
970
- "name": "_HTTP_CONFIG",
971
- "module": "src/env/variables.ts"
972
- }
973
- },
974
- {
975
- "kind": "js",
976
- "name": "DEFAULT_ORGANISATION",
977
- "declaration": {
978
- "name": "_DEFAULT_ORGANISATION",
979
- "module": "src/env/variables.ts"
980
- }
981
- },
982
- {
983
- "kind": "js",
984
- "name": "DEFAULT_PASSWORD",
985
- "declaration": {
986
- "name": "_DEFAULT_PASSWORD",
987
- "module": "src/env/variables.ts"
988
- }
989
- },
990
- {
991
- "kind": "js",
992
- "name": "DEFAULT_USER",
993
- "declaration": {
994
- "name": "_DEFAULT_USER",
995
- "module": "src/env/variables.ts"
996
- }
997
- },
998
- {
999
- "kind": "js",
1000
- "name": "LOGIN_URL",
1001
- "declaration": {
1002
- "name": "LOGIN_URL",
1003
- "module": "src/env/variables.ts"
1004
- }
1005
- },
1006
- {
1007
- "kind": "js",
1008
- "name": "LOGIN_REFRESH_URL",
1009
- "declaration": {
1010
- "name": "LOGIN_REFRESH_URL",
1011
- "module": "src/env/variables.ts"
1012
- }
1013
- },
1014
- {
1015
- "kind": "js",
1016
- "name": "LOGIN_DETAILS_URL",
1017
- "declaration": {
1018
- "name": "LOGIN_DETAILS_URL",
1019
- "module": "src/env/variables.ts"
1020
- }
1021
- },
1022
- {
1023
- "kind": "js",
1024
- "name": "LOGOUT_URL",
1025
- "declaration": {
1026
- "name": "LOGOUT_URL",
1027
- "module": "src/env/variables.ts"
1028
- }
1029
- },
1030
- {
1031
- "kind": "js",
1032
- "name": "CHANGE_PASSWORD_URL",
1033
- "declaration": {
1034
- "name": "CHANGE_PASSWORD_URL",
1035
- "module": "src/env/variables.ts"
1036
- }
1037
- },
1038
- {
1039
- "kind": "js",
1040
- "name": "FORGOT_PASSWORD_URL",
1041
- "declaration": {
1042
- "name": "FORGOT_PASSWORD_URL",
1043
- "module": "src/env/variables.ts"
1044
- }
1045
- },
1046
- {
1047
- "kind": "js",
1048
- "name": "RESET_PASSWORD_URL",
685
+ "name": "BUILDER",
686
+ "declaration": {
687
+ "name": "_BUILDER",
688
+ "module": "src/env/variables.ts"
689
+ }
690
+ },
691
+ {
692
+ "kind": "js",
693
+ "name": "PUBLIC_PATH",
694
+ "declaration": {
695
+ "name": "_PUBLIC_PATH",
696
+ "module": "src/env/variables.ts"
697
+ }
698
+ },
699
+ {
700
+ "kind": "js",
701
+ "name": "SOCKET_EXT",
702
+ "declaration": {
703
+ "name": "_SOCKET_EXT",
704
+ "module": "src/env/variables.ts"
705
+ }
706
+ },
707
+ {
708
+ "kind": "js",
709
+ "name": "FORCE_HTTP",
710
+ "declaration": {
711
+ "name": "_FORCE_HTTP",
712
+ "module": "src/env/variables.ts"
713
+ }
714
+ },
715
+ {
716
+ "kind": "js",
717
+ "name": "GENESIS_SOCKET_URL",
718
+ "declaration": {
719
+ "name": "GENESIS_SOCKET_URL",
720
+ "module": "src/env/variables.ts"
721
+ }
722
+ },
723
+ {
724
+ "kind": "js",
725
+ "name": "API_HOST",
726
+ "declaration": {
727
+ "name": "_API_HOST",
728
+ "module": "src/env/variables.ts"
729
+ }
730
+ },
731
+ {
732
+ "kind": "js",
733
+ "name": "HTTP_CONFIG",
734
+ "declaration": {
735
+ "name": "_HTTP_CONFIG",
736
+ "module": "src/env/variables.ts"
737
+ }
738
+ },
739
+ {
740
+ "kind": "js",
741
+ "name": "DEFAULT_ORGANISATION",
742
+ "declaration": {
743
+ "name": "_DEFAULT_ORGANISATION",
744
+ "module": "src/env/variables.ts"
745
+ }
746
+ },
747
+ {
748
+ "kind": "js",
749
+ "name": "DEFAULT_PASSWORD",
750
+ "declaration": {
751
+ "name": "_DEFAULT_PASSWORD",
752
+ "module": "src/env/variables.ts"
753
+ }
754
+ },
755
+ {
756
+ "kind": "js",
757
+ "name": "DEFAULT_USER",
758
+ "declaration": {
759
+ "name": "_DEFAULT_USER",
760
+ "module": "src/env/variables.ts"
761
+ }
762
+ },
763
+ {
764
+ "kind": "js",
765
+ "name": "LOGIN_URL",
766
+ "declaration": {
767
+ "name": "LOGIN_URL",
768
+ "module": "src/env/variables.ts"
769
+ }
770
+ },
771
+ {
772
+ "kind": "js",
773
+ "name": "LOGIN_REFRESH_URL",
774
+ "declaration": {
775
+ "name": "LOGIN_REFRESH_URL",
776
+ "module": "src/env/variables.ts"
777
+ }
778
+ },
779
+ {
780
+ "kind": "js",
781
+ "name": "LOGIN_DETAILS_URL",
782
+ "declaration": {
783
+ "name": "LOGIN_DETAILS_URL",
784
+ "module": "src/env/variables.ts"
785
+ }
786
+ },
787
+ {
788
+ "kind": "js",
789
+ "name": "LOGOUT_URL",
790
+ "declaration": {
791
+ "name": "LOGOUT_URL",
792
+ "module": "src/env/variables.ts"
793
+ }
794
+ },
795
+ {
796
+ "kind": "js",
797
+ "name": "CHANGE_PASSWORD_URL",
798
+ "declaration": {
799
+ "name": "CHANGE_PASSWORD_URL",
800
+ "module": "src/env/variables.ts"
801
+ }
802
+ },
803
+ {
804
+ "kind": "js",
805
+ "name": "FORGOT_PASSWORD_URL",
806
+ "declaration": {
807
+ "name": "FORGOT_PASSWORD_URL",
808
+ "module": "src/env/variables.ts"
809
+ }
810
+ },
811
+ {
812
+ "kind": "js",
813
+ "name": "RESET_PASSWORD_URL",
814
+ "declaration": {
815
+ "name": "RESET_PASSWORD_URL",
816
+ "module": "src/env/variables.ts"
817
+ }
818
+ },
819
+ {
820
+ "kind": "js",
821
+ "name": "SSO_LIST_URL",
822
+ "declaration": {
823
+ "name": "SSO_LIST_URL",
824
+ "module": "src/env/variables.ts"
825
+ }
826
+ },
827
+ {
828
+ "kind": "js",
829
+ "name": "SSO_LOGIN_URL",
830
+ "declaration": {
831
+ "name": "SSO_LOGIN_URL",
832
+ "module": "src/env/variables.ts"
833
+ }
834
+ },
835
+ {
836
+ "kind": "js",
837
+ "name": "ENVIRONMENT_LEVEL",
838
+ "declaration": {
839
+ "name": "ENVIRONMENT_LEVEL",
840
+ "module": "src/env/variables.ts"
841
+ }
842
+ },
843
+ {
844
+ "kind": "js",
845
+ "name": "ACCEPT_TERMS_URL",
846
+ "declaration": {
847
+ "name": "ACCEPT_TERMS_URL",
848
+ "module": "src/env/variables.ts"
849
+ }
850
+ }
851
+ ]
852
+ },
853
+ {
854
+ "kind": "javascript-module",
855
+ "path": "src/converters/index.ts",
856
+ "declarations": [],
857
+ "exports": [
858
+ {
859
+ "kind": "js",
860
+ "name": "*",
861
+ "declaration": {
862
+ "name": "*",
863
+ "package": "./string-array-converter"
864
+ }
865
+ }
866
+ ]
867
+ },
868
+ {
869
+ "kind": "javascript-module",
870
+ "path": "src/converters/string-array-converter.ts",
871
+ "declarations": [
872
+ {
873
+ "kind": "variable",
874
+ "name": "stringArrayConverter",
875
+ "type": {
876
+ "text": "ValueConverter"
877
+ },
878
+ "default": "{\n fromView(v: string): string | string[] | undefined {\n if (!v?.trim()) return undefined;\n return v.includes(',') ? v.split(',').map((s) => s.trim()) : v.trim();\n },\n toView(v: string | string[] | undefined): string {\n if (typeof v === 'string') return v;\n if (Array.isArray(v)) return v.join(',');\n return '';\n },\n}",
879
+ "description": "A @microsoft/fast-element#ValueConverter that converts between comma-separated string attributes\nand `string | string[]` properties.",
880
+ "privacy": "public"
881
+ }
882
+ ],
883
+ "exports": [
884
+ {
885
+ "kind": "js",
886
+ "name": "stringArrayConverter",
887
+ "declaration": {
888
+ "name": "stringArrayConverter",
889
+ "module": "src/converters/string-array-converter.ts"
890
+ }
891
+ }
892
+ ]
893
+ },
894
+ {
895
+ "kind": "javascript-module",
896
+ "path": "src/data/inMemoryDatabase.ts",
897
+ "declarations": [
898
+ {
899
+ "kind": "class",
900
+ "description": "An in memory database of specific DatabaseRecord types.",
901
+ "name": "InMemoryDatabase",
902
+ "members": [
903
+ {
904
+ "kind": "field",
905
+ "name": "isWorking",
906
+ "type": {
907
+ "text": "boolean"
908
+ },
909
+ "privacy": "public",
910
+ "default": "false"
911
+ },
912
+ {
913
+ "kind": "field",
914
+ "name": "records",
915
+ "type": {
916
+ "text": "Record<string, T>"
917
+ },
918
+ "privacy": "private",
919
+ "default": "{}"
920
+ },
921
+ {
922
+ "kind": "field",
923
+ "name": "beforeUpdateListeners",
924
+ "privacy": "private"
925
+ },
926
+ {
927
+ "kind": "field",
928
+ "name": "afterUpdateListeners",
929
+ "privacy": "private"
930
+ },
931
+ {
932
+ "kind": "method",
933
+ "name": "create",
934
+ "privacy": "public",
935
+ "return": {
936
+ "type": {
937
+ "text": "Promise<DatabaseAccessResult.Create<T>>"
938
+ }
939
+ },
940
+ "parameters": [
941
+ {
942
+ "name": "newValue",
943
+ "type": {
944
+ "text": "Omit<T, 'id'>"
945
+ }
946
+ }
947
+ ]
948
+ },
949
+ {
950
+ "kind": "method",
951
+ "name": "read",
952
+ "privacy": "public",
953
+ "return": {
954
+ "type": {
955
+ "text": "Promise<DatabaseAccessResult.Read<T>>"
956
+ }
957
+ },
958
+ "parameters": [
959
+ {
960
+ "name": "id",
961
+ "type": {
962
+ "text": "string"
963
+ }
964
+ }
965
+ ]
966
+ },
967
+ {
968
+ "kind": "method",
969
+ "name": "update",
970
+ "privacy": "public",
971
+ "return": {
972
+ "type": {
973
+ "text": "Promise<DatabaseAccessResult.Update<T>>"
974
+ }
975
+ },
976
+ "parameters": [
977
+ {
978
+ "name": "id",
979
+ "type": {
980
+ "text": "string"
981
+ }
982
+ },
983
+ {
984
+ "name": "newValue",
985
+ "type": {
986
+ "text": "Omit<Partial<T>, 'id'>"
987
+ }
988
+ }
989
+ ]
990
+ },
991
+ {
992
+ "kind": "method",
993
+ "name": "delete",
994
+ "privacy": "public",
995
+ "return": {
996
+ "type": {
997
+ "text": "Promise<DatabaseAccessResult.Delete>"
998
+ }
999
+ },
1000
+ "parameters": [
1001
+ {
1002
+ "name": "id",
1003
+ "type": {
1004
+ "text": "string"
1005
+ }
1006
+ }
1007
+ ]
1008
+ },
1009
+ {
1010
+ "kind": "method",
1011
+ "name": "visit",
1012
+ "privacy": "public",
1013
+ "return": {
1014
+ "type": {
1015
+ "text": "Promise<void>"
1016
+ }
1017
+ },
1018
+ "parameters": [
1019
+ {
1020
+ "name": "visitor",
1021
+ "type": {
1022
+ "text": "(record: T) => void"
1023
+ }
1024
+ }
1025
+ ]
1026
+ },
1027
+ {
1028
+ "kind": "method",
1029
+ "name": "onBeforeUpdate",
1030
+ "privacy": "public",
1031
+ "return": {
1032
+ "type": {
1033
+ "text": "() => void"
1034
+ }
1035
+ },
1036
+ "parameters": [
1037
+ {
1038
+ "name": "listener",
1039
+ "type": {
1040
+ "text": "Listener<DatabaseEvent.BeforeUpdate<T>>"
1041
+ }
1042
+ }
1043
+ ]
1044
+ },
1045
+ {
1046
+ "kind": "method",
1047
+ "name": "onAfterUpdate",
1048
+ "privacy": "public",
1049
+ "return": {
1050
+ "type": {
1051
+ "text": "() => void"
1052
+ }
1053
+ },
1054
+ "parameters": [
1055
+ {
1056
+ "name": "listener",
1057
+ "type": {
1058
+ "text": "Listener<DatabaseEvent.AfterUpdate<T>>"
1059
+ }
1060
+ }
1061
+ ]
1062
+ }
1063
+ ]
1064
+ }
1065
+ ],
1066
+ "exports": [
1067
+ {
1068
+ "kind": "js",
1069
+ "name": "InMemoryDatabase",
1049
1070
  "declaration": {
1050
- "name": "RESET_PASSWORD_URL",
1051
- "module": "src/env/variables.ts"
1071
+ "name": "InMemoryDatabase",
1072
+ "module": "src/data/inMemoryDatabase.ts"
1052
1073
  }
1053
- },
1074
+ }
1075
+ ]
1076
+ },
1077
+ {
1078
+ "kind": "javascript-module",
1079
+ "path": "src/data/index.ts",
1080
+ "declarations": [],
1081
+ "exports": [
1054
1082
  {
1055
1083
  "kind": "js",
1056
- "name": "SSO_LIST_URL",
1084
+ "name": "*",
1057
1085
  "declaration": {
1058
- "name": "SSO_LIST_URL",
1059
- "module": "src/env/variables.ts"
1086
+ "name": "*",
1087
+ "package": "./inMemoryDatabase"
1060
1088
  }
1061
- },
1089
+ }
1090
+ ]
1091
+ },
1092
+ {
1093
+ "kind": "javascript-module",
1094
+ "path": "src/decorators/index.ts",
1095
+ "declarations": [],
1096
+ "exports": [
1062
1097
  {
1063
1098
  "kind": "js",
1064
- "name": "SSO_LOGIN_URL",
1099
+ "name": "*",
1065
1100
  "declaration": {
1066
- "name": "SSO_LOGIN_URL",
1067
- "module": "src/env/variables.ts"
1101
+ "name": "*",
1102
+ "package": "./renderOnChange"
1068
1103
  }
1069
- },
1104
+ }
1105
+ ]
1106
+ },
1107
+ {
1108
+ "kind": "javascript-module",
1109
+ "path": "src/decorators/renderOnChange.ts",
1110
+ "declarations": [
1070
1111
  {
1071
- "kind": "js",
1072
- "name": "ENVIRONMENT_LEVEL",
1073
- "declaration": {
1074
- "name": "ENVIRONMENT_LEVEL",
1075
- "module": "src/env/variables.ts"
1076
- }
1077
- },
1112
+ "kind": "function",
1113
+ "name": "renderOnChange",
1114
+ "parameters": [
1115
+ {
1116
+ "name": "target",
1117
+ "type": {
1118
+ "text": "FASTElement & { render(): void }"
1119
+ },
1120
+ "description": "The target to define the property change handler on."
1121
+ },
1122
+ {
1123
+ "name": "name",
1124
+ "type": {
1125
+ "text": "string"
1126
+ },
1127
+ "description": "The property name."
1128
+ }
1129
+ ],
1130
+ "description": "Defines a property changed handler that calls a render() method on the target as an internal observation enhancement.",
1131
+ "privacy": "public"
1132
+ }
1133
+ ],
1134
+ "exports": [
1078
1135
  {
1079
1136
  "kind": "js",
1080
- "name": "ACCEPT_TERMS_URL",
1137
+ "name": "renderOnChange",
1081
1138
  "declaration": {
1082
- "name": "ACCEPT_TERMS_URL",
1083
- "module": "src/env/variables.ts"
1139
+ "name": "renderOnChange",
1140
+ "module": "src/decorators/renderOnChange.ts"
1084
1141
  }
1085
1142
  }
1086
1143
  ]
@@ -4259,6 +4316,12 @@
4259
4316
  }
4260
4317
  ]
4261
4318
  },
4319
+ {
4320
+ "kind": "javascript-module",
4321
+ "path": "src/workspace/index.ts",
4322
+ "declarations": [],
4323
+ "exports": []
4324
+ },
4262
4325
  {
4263
4326
  "kind": "javascript-module",
4264
4327
  "path": "src/directives/sync/index.ts",
@@ -0,0 +1,2 @@
1
+ export * from './string-array-converter';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/converters/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { ValueConverter } from '@microsoft/fast-element';
2
+ /**
3
+ * A {@link @microsoft/fast-element#ValueConverter} that converts between comma-separated string attributes
4
+ * and `string | string[]` properties.
5
+ *
6
+ * @remarks
7
+ * - fromView: "A,B,C" → ["A","B","C"], "A" → "A", "" → undefined
8
+ * - toView: ["A","B","C"] → "A,B,C", "A" → "A", undefined → ""
9
+ *
10
+ * @public
11
+ */
12
+ export declare const stringArrayConverter: ValueConverter;
13
+ //# sourceMappingURL=string-array-converter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string-array-converter.d.ts","sourceRoot":"","sources":["../../../src/converters/string-array-converter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB,EAAE,cAUlC,CAAC"}
@@ -1,3 +1,4 @@
1
+ export * from './converters';
1
2
  export * from './data';
2
3
  export * from './decorators';
3
4
  export * from './design-system';
@@ -22,4 +23,5 @@ export * from './utils';
22
23
  export * from './uuid';
23
24
  export * from './window';
24
25
  export * from './inactivity';
26
+ export * from './workspace';
25
27
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/workspace/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ export * from './string-array-converter';
@@ -0,0 +1,24 @@
1
+ /**
2
+ * A {@link @microsoft/fast-element#ValueConverter} that converts between comma-separated string attributes
3
+ * and `string | string[]` properties.
4
+ *
5
+ * @remarks
6
+ * - fromView: "A,B,C" → ["A","B","C"], "A" → "A", "" → undefined
7
+ * - toView: ["A","B","C"] → "A,B,C", "A" → "A", undefined → ""
8
+ *
9
+ * @public
10
+ */
11
+ export const stringArrayConverter = {
12
+ fromView(v) {
13
+ if (!(v === null || v === void 0 ? void 0 : v.trim()))
14
+ return undefined;
15
+ return v.includes(',') ? v.split(',').map((s) => s.trim()) : v.trim();
16
+ },
17
+ toView(v) {
18
+ if (typeof v === 'string')
19
+ return v;
20
+ if (Array.isArray(v))
21
+ return v.join(',');
22
+ return '';
23
+ },
24
+ };
package/dist/esm/index.js CHANGED
@@ -1,3 +1,4 @@
1
+ export * from './converters';
1
2
  export * from './data';
2
3
  export * from './decorators';
3
4
  export * from './design-system';
@@ -22,3 +23,4 @@ export * from './utils';
22
23
  export * from './uuid';
23
24
  export * from './window';
24
25
  export * from './inactivity';
26
+ export * from './workspace';
@@ -0,0 +1 @@
1
+ export {};
@@ -18938,6 +18938,30 @@
18938
18938
  "endIndex": 2
18939
18939
  }
18940
18940
  },
18941
+ {
18942
+ "kind": "Variable",
18943
+ "canonicalReference": "@genesislcap/foundation-utils!stringArrayConverter:var",
18944
+ "docComment": "/**\n * A {@link @microsoft/fast-element#ValueConverter} that converts between comma-separated string attributes and `string | string[]` properties.\n *\n * @remarks\n *\n * - fromView: \"A,B,C\" → [\"A\",\"B\",\"C\"], \"A\" → \"A\", \"\" → undefined - toView: [\"A\",\"B\",\"C\"] → \"A,B,C\", \"A\" → \"A\", undefined → \"\"\n *\n * @public\n */\n",
18945
+ "excerptTokens": [
18946
+ {
18947
+ "kind": "Content",
18948
+ "text": "stringArrayConverter: "
18949
+ },
18950
+ {
18951
+ "kind": "Reference",
18952
+ "text": "ValueConverter",
18953
+ "canonicalReference": "@microsoft/fast-element!ValueConverter:interface"
18954
+ }
18955
+ ],
18956
+ "fileUrlPath": "src/converters/string-array-converter.ts",
18957
+ "isReadonly": true,
18958
+ "releaseTag": "Public",
18959
+ "name": "stringArrayConverter",
18960
+ "variableTypeTokenRange": {
18961
+ "startIndex": 1,
18962
+ "endIndex": 2
18963
+ }
18964
+ },
18941
18965
  {
18942
18966
  "kind": "TypeAlias",
18943
18967
  "canonicalReference": "@genesislcap/foundation-utils!Subscribe:type",
@@ -16,6 +16,7 @@ import { LogLevel } from '@genesislcap/foundation-logger';
16
16
  import { Observable } from 'rxjs';
17
17
  import { SyntheticViewTemplate } from '@microsoft/fast-element';
18
18
  import { Types } from '@genesislcap/expression-builder';
19
+ import type { ValueConverter } from '@microsoft/fast-element';
19
20
 
20
21
  /**
21
22
  * @public
@@ -2349,6 +2350,18 @@ export declare let SSO_LIST_URL: string;
2349
2350
  */
2350
2351
  export declare let SSO_LOGIN_URL: string;
2351
2352
 
2353
+ /**
2354
+ * A {@link @microsoft/fast-element#ValueConverter} that converts between comma-separated string attributes
2355
+ * and `string | string[]` properties.
2356
+ *
2357
+ * @remarks
2358
+ * - fromView: "A,B,C" → ["A","B","C"], "A" → "A", "" → undefined
2359
+ * - toView: ["A","B","C"] → "A,B,C", "A" → "A", undefined → ""
2360
+ *
2361
+ * @public
2362
+ */
2363
+ export declare const stringArrayConverter: ValueConverter;
2364
+
2352
2365
  /**
2353
2366
  * Subscribes a listener function to receive events of a specific type.
2354
2367
  * @returns An unsubscribe function.
@@ -1339,6 +1339,17 @@ The sub-path used for WebSocket connections when API\_HOST is not set
1339
1339
 
1340
1340
 
1341
1341
 
1342
+ </td></tr>
1343
+ <tr><td>
1344
+
1345
+ [stringArrayConverter](./foundation-utils.stringarrayconverter.md)
1346
+
1347
+
1348
+ </td><td>
1349
+
1350
+ A that converts between comma-separated string attributes and `string | string[]` properties.
1351
+
1352
+
1342
1353
  </td></tr>
1343
1354
  <tr><td>
1344
1355
 
@@ -0,0 +1,18 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@genesislcap/foundation-utils](./foundation-utils.md) &gt; [stringArrayConverter](./foundation-utils.stringarrayconverter.md)
4
+
5
+ ## stringArrayConverter variable
6
+
7
+ A that converts between comma-separated string attributes and `string | string[]` properties.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ stringArrayConverter: ValueConverter
13
+ ```
14
+
15
+ ## Remarks
16
+
17
+ - fromView: "A,B,C" → \["A","B","C"\], "A" → "A", "" → undefined - toView: \["A","B","C"\] → "A,B,C", "A" → "A", undefined → ""
18
+
@@ -22,6 +22,7 @@ import { LogLevel } from '@genesislcap/foundation-logger';
22
22
  import { Observable } from 'rxjs';
23
23
  import { SyntheticViewTemplate } from '@microsoft/fast-element';
24
24
  import { Types } from '@genesislcap/expression-builder';
25
+ import type { ValueConverter } from '@microsoft/fast-element';
25
26
 
26
27
  // @public (undocumented)
27
28
  export let ACCEPT_TERMS_URL: string;
@@ -1572,6 +1573,9 @@ export let SSO_LIST_URL: string;
1572
1573
  // @public (undocumented)
1573
1574
  export let SSO_LOGIN_URL: string;
1574
1575
 
1576
+ // @public
1577
+ export const stringArrayConverter: ValueConverter;
1578
+
1575
1579
  // @public
1576
1580
  export type Subscribe<EventType> = (listener: Listener<EventType>) => () => void;
1577
1581
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@genesislcap/foundation-utils",
3
3
  "description": "Genesis Foundation Utils",
4
- "version": "14.404.0",
4
+ "version": "14.406.0-workspaces.1",
5
5
  "sideEffects": false,
6
6
  "license": "SEE LICENSE IN license.txt",
7
7
  "main": "dist/esm/index.js",
@@ -29,18 +29,18 @@
29
29
  }
30
30
  },
31
31
  "devDependencies": {
32
- "@genesislcap/foundation-testing": "14.404.0",
33
- "@genesislcap/genx": "14.404.0",
34
- "@genesislcap/rollup-builder": "14.404.0",
35
- "@genesislcap/ts-builder": "14.404.0",
36
- "@genesislcap/uvu-playwright-builder": "14.404.0",
37
- "@genesislcap/vite-builder": "14.404.0",
38
- "@genesislcap/webpack-builder": "14.404.0",
32
+ "@genesislcap/foundation-testing": "14.406.0-workspaces.1",
33
+ "@genesislcap/genx": "14.406.0-workspaces.1",
34
+ "@genesislcap/rollup-builder": "14.406.0-workspaces.1",
35
+ "@genesislcap/ts-builder": "14.406.0-workspaces.1",
36
+ "@genesislcap/uvu-playwright-builder": "14.406.0-workspaces.1",
37
+ "@genesislcap/vite-builder": "14.406.0-workspaces.1",
38
+ "@genesislcap/webpack-builder": "14.406.0-workspaces.1",
39
39
  "@types/json-schema": "^7.0.11"
40
40
  },
41
41
  "dependencies": {
42
- "@genesislcap/expression-builder": "14.404.0",
43
- "@genesislcap/foundation-logger": "14.404.0",
42
+ "@genesislcap/expression-builder": "14.406.0-workspaces.1",
43
+ "@genesislcap/foundation-logger": "14.406.0-workspaces.1",
44
44
  "@microsoft/fast-components": "2.30.6",
45
45
  "@microsoft/fast-element": "1.14.0",
46
46
  "@microsoft/fast-foundation": "2.50.0",
@@ -58,5 +58,5 @@
58
58
  "access": "public"
59
59
  },
60
60
  "customElements": "dist/custom-elements.json",
61
- "gitHead": "54c68ebeae4e39b6c2e1b0bece963468279c323c"
61
+ "gitHead": "d85783a1758179d4516fef12808446f19b1719db"
62
62
  }