@things-factory/ops-master 10.1.247 → 10.1.248
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.
- package/package.json +3 -3
- package/dist-client/bootstrap.d.ts +0 -19
- package/dist-client/bootstrap.js +0 -66
- package/dist-client/bootstrap.js.map +0 -1
- package/dist-client/index.d.ts +0 -17
- package/dist-client/index.js +0 -21
- package/dist-client/index.js.map +0 -1
- package/dist-client/master-change-approval.d.ts +0 -14
- package/dist-client/master-change-approval.js +0 -36
- package/dist-client/master-change-approval.js.map +0 -1
- package/dist-client/master-change-policy-axes.d.ts +0 -37
- package/dist-client/master-change-policy-axes.js +0 -29
- package/dist-client/master-change-policy-axes.js.map +0 -1
- package/dist-client/master-change-policy-panel.d.ts +0 -59
- package/dist-client/master-change-policy-panel.js +0 -454
- package/dist-client/master-change-policy-panel.js.map +0 -1
- package/dist-client/master-change-providers.d.ts +0 -4
- package/dist-client/master-change-providers.js +0 -91
- package/dist-client/master-change-providers.js.map +0 -1
- package/dist-client/pages/master/applied-when-dialog.d.ts +0 -48
- package/dist-client/pages/master/applied-when-dialog.js +0 -137
- package/dist-client/pages/master/applied-when-dialog.js.map +0 -1
- package/dist-client/pages/master/assignment-fields.d.ts +0 -27
- package/dist-client/pages/master/assignment-fields.js +0 -62
- package/dist-client/pages/master/assignment-fields.js.map +0 -1
- package/dist-client/pages/master/equipment-class.d.ts +0 -12
- package/dist-client/pages/master/equipment-class.js +0 -42
- package/dist-client/pages/master/equipment-class.js.map +0 -1
- package/dist-client/pages/master/equipment.d.ts +0 -12
- package/dist-client/pages/master/equipment.js +0 -58
- package/dist-client/pages/master/equipment.js.map +0 -1
- package/dist-client/pages/master/grist-iso-duration.d.ts +0 -20
- package/dist-client/pages/master/grist-iso-duration.js +0 -70
- package/dist-client/pages/master/grist-iso-duration.js.map +0 -1
- package/dist-client/pages/master/grist-reference.d.ts +0 -91
- package/dist-client/pages/master/grist-reference.js +0 -419
- package/dist-client/pages/master/grist-reference.js.map +0 -1
- package/dist-client/pages/master/import-rows.d.ts +0 -35
- package/dist-client/pages/master/import-rows.js +0 -66
- package/dist-client/pages/master/import-rows.js.map +0 -1
- package/dist-client/pages/master/iso-duration.d.ts +0 -34
- package/dist-client/pages/master/iso-duration.js +0 -76
- package/dist-client/pages/master/iso-duration.js.map +0 -1
- package/dist-client/pages/master/master-options.d.ts +0 -40
- package/dist-client/pages/master/master-options.js +0 -54
- package/dist-client/pages/master/master-options.js.map +0 -1
- package/dist-client/pages/master/master-page-base.d.ts +0 -369
- package/dist-client/pages/master/master-page-base.js +0 -657
- package/dist-client/pages/master/master-page-base.js.map +0 -1
- package/dist-client/pages/master/material-class.d.ts +0 -12
- package/dist-client/pages/master/material-class.js +0 -42
- package/dist-client/pages/master/material-class.js.map +0 -1
- package/dist-client/pages/master/material-definition.d.ts +0 -5
- package/dist-client/pages/master/material-definition.js +0 -14
- package/dist-client/pages/master/material-definition.js.map +0 -1
- package/dist-client/pages/master/material-revision-fields.d.ts +0 -2
- package/dist-client/pages/master/material-revision-fields.js +0 -43
- package/dist-client/pages/master/material-revision-fields.js.map +0 -1
- package/dist-client/pages/master/operation-definition.d.ts +0 -12
- package/dist-client/pages/master/operation-definition.js +0 -49
- package/dist-client/pages/master/operation-definition.js.map +0 -1
- package/dist-client/pages/master/operational-location.d.ts +0 -84
- package/dist-client/pages/master/operational-location.js +0 -432
- package/dist-client/pages/master/operational-location.js.map +0 -1
- package/dist-client/pages/master/person.d.ts +0 -12
- package/dist-client/pages/master/person.js +0 -41
- package/dist-client/pages/master/person.js.map +0 -1
- package/dist-client/pages/master/personnel-class.d.ts +0 -12
- package/dist-client/pages/master/personnel-class.js +0 -43
- package/dist-client/pages/master/personnel-class.js.map +0 -1
- package/dist-client/pages/master/physical-asset-class.d.ts +0 -12
- package/dist-client/pages/master/physical-asset-class.js +0 -40
- package/dist-client/pages/master/physical-asset-class.js.map +0 -1
- package/dist-client/pages/master/physical-asset.d.ts +0 -12
- package/dist-client/pages/master/physical-asset.js +0 -41
- package/dist-client/pages/master/physical-asset.js.map +0 -1
- package/dist-client/pages/master/recipe-definition.d.ts +0 -5
- package/dist-client/pages/master/recipe-definition.js +0 -14
- package/dist-client/pages/master/recipe-definition.js.map +0 -1
- package/dist-client/pages/master/reference-targets.d.ts +0 -42
- package/dist-client/pages/master/reference-targets.js +0 -82
- package/dist-client/pages/master/reference-targets.js.map +0 -1
- package/dist-client/pages/master/revision-comparison.d.ts +0 -49
- package/dist-client/pages/master/revision-comparison.js +0 -560
- package/dist-client/pages/master/revision-comparison.js.map +0 -1
- package/dist-client/pages/master/revision-view.d.ts +0 -34
- package/dist-client/pages/master/revision-view.js +0 -145
- package/dist-client/pages/master/revision-view.js.map +0 -1
- package/dist-client/pages/master/revision-workspace.d.ts +0 -50
- package/dist-client/pages/master/revision-workspace.js +0 -763
- package/dist-client/pages/master/revision-workspace.js.map +0 -1
- package/dist-client/pages/master/route-definition.d.ts +0 -19
- package/dist-client/pages/master/route-definition.js +0 -40
- package/dist-client/pages/master/route-definition.js.map +0 -1
- package/dist-client/pages/master/stop-reason.d.ts +0 -12
- package/dist-client/pages/master/stop-reason.js +0 -48
- package/dist-client/pages/master/stop-reason.js.map +0 -1
- package/dist-client/pages/master/test-specification.d.ts +0 -5
- package/dist-client/pages/master/test-specification.js +0 -14
- package/dist-client/pages/master/test-specification.js.map +0 -1
- package/dist-client/pages/master-axes.d.ts +0 -24
- package/dist-client/pages/master-axes.js +0 -39
- package/dist-client/pages/master-axes.js.map +0 -1
- package/dist-client/route.d.ts +0 -1
- package/dist-client/route.js +0 -81
- package/dist-client/route.js.map +0 -1
- package/dist-client/tsconfig.tsbuildinfo +0 -1
- package/dist-server/index.d.ts +0 -1
- package/dist-server/index.js +0 -19
- package/dist-server/index.js.map +0 -1
- package/dist-server/service/ai-entry/master-entry-rules.d.ts +0 -175
- package/dist-server/service/ai-entry/master-entry-rules.js +0 -302
- package/dist-server/service/ai-entry/master-entry-rules.js.map +0 -1
- package/dist-server/service/ai-entry/master-entry-targets.d.ts +0 -23
- package/dist-server/service/ai-entry/master-entry-targets.js +0 -293
- package/dist-server/service/ai-entry/master-entry-targets.js.map +0 -1
- package/dist-server/service/approval-route.d.ts +0 -37
- package/dist-server/service/approval-route.js +0 -34
- package/dist-server/service/approval-route.js.map +0 -1
- package/dist-server/service/asset/asset-lifecycle.d.ts +0 -106
- package/dist-server/service/asset/asset-lifecycle.js +0 -126
- package/dist-server/service/asset/asset-lifecycle.js.map +0 -1
- package/dist-server/service/asset/asset-master-resolver.d.ts +0 -53
- package/dist-server/service/asset/asset-master-resolver.js +0 -185
- package/dist-server/service/asset/asset-master-resolver.js.map +0 -1
- package/dist-server/service/asset/asset-master.d.ts +0 -21
- package/dist-server/service/asset/asset-master.js +0 -25
- package/dist-server/service/asset/asset-master.js.map +0 -1
- package/dist-server/service/asset/asset-query.d.ts +0 -16
- package/dist-server/service/asset/asset-query.js +0 -72
- package/dist-server/service/asset/asset-query.js.map +0 -1
- package/dist-server/service/asset/index.d.ts +0 -6
- package/dist-server/service/asset/index.js +0 -10
- package/dist-server/service/asset/index.js.map +0 -1
- package/dist-server/service/asset/physical-asset-class.d.ts +0 -34
- package/dist-server/service/asset/physical-asset-class.js +0 -104
- package/dist-server/service/asset/physical-asset-class.js.map +0 -1
- package/dist-server/service/asset/physical-asset.d.ts +0 -66
- package/dist-server/service/asset/physical-asset.js +0 -123
- package/dist-server/service/asset/physical-asset.js.map +0 -1
- package/dist-server/service/assignment/applied-when.d.ts +0 -24
- package/dist-server/service/assignment/applied-when.js +0 -16
- package/dist-server/service/assignment/applied-when.js.map +0 -1
- package/dist-server/service/assignment/assignment-history.d.ts +0 -92
- package/dist-server/service/assignment/assignment-history.js +0 -289
- package/dist-server/service/assignment/assignment-history.js.map +0 -1
- package/dist-server/service/assignment/assignment-write.d.ts +0 -42
- package/dist-server/service/assignment/assignment-write.js +0 -101
- package/dist-server/service/assignment/assignment-write.js.map +0 -1
- package/dist-server/service/assignment/master-value-claim.d.ts +0 -135
- package/dist-server/service/assignment/master-value-claim.js +0 -174
- package/dist-server/service/assignment/master-value-claim.js.map +0 -1
- package/dist-server/service/equipment/equipment-class.d.ts +0 -34
- package/dist-server/service/equipment/equipment-class.js +0 -104
- package/dist-server/service/equipment/equipment-class.js.map +0 -1
- package/dist-server/service/equipment/equipment-master-resolver.d.ts +0 -77
- package/dist-server/service/equipment/equipment-master-resolver.js +0 -266
- package/dist-server/service/equipment/equipment-master-resolver.js.map +0 -1
- package/dist-server/service/equipment/equipment-master.d.ts +0 -30
- package/dist-server/service/equipment/equipment-master.js +0 -53
- package/dist-server/service/equipment/equipment-master.js.map +0 -1
- package/dist-server/service/equipment/equipment-query.d.ts +0 -16
- package/dist-server/service/equipment/equipment-query.js +0 -72
- package/dist-server/service/equipment/equipment-query.js.map +0 -1
- package/dist-server/service/equipment/equipment.d.ts +0 -71
- package/dist-server/service/equipment/equipment.js +0 -138
- package/dist-server/service/equipment/equipment.js.map +0 -1
- package/dist-server/service/equipment/index.d.ts +0 -8
- package/dist-server/service/equipment/index.js +0 -12
- package/dist-server/service/equipment/index.js.map +0 -1
- package/dist-server/service/equipment/state-period-rules.d.ts +0 -95
- package/dist-server/service/equipment/state-period-rules.js +0 -122
- package/dist-server/service/equipment/state-period-rules.js.map +0 -1
- package/dist-server/service/equipment/stop-reason-query.d.ts +0 -11
- package/dist-server/service/equipment/stop-reason-query.js +0 -39
- package/dist-server/service/equipment/stop-reason-query.js.map +0 -1
- package/dist-server/service/equipment/stop-reason.d.ts +0 -58
- package/dist-server/service/equipment/stop-reason.js +0 -114
- package/dist-server/service/equipment/stop-reason.js.map +0 -1
- package/dist-server/service/index.d.ts +0 -82
- package/dist-server/service/index.js +0 -145
- package/dist-server/service/index.js.map +0 -1
- package/dist-server/service/location/index.d.ts +0 -5
- package/dist-server/service/location/index.js +0 -9
- package/dist-server/service/location/index.js.map +0 -1
- package/dist-server/service/location/location-master-resolver.d.ts +0 -60
- package/dist-server/service/location/location-master-resolver.js +0 -313
- package/dist-server/service/location/location-master-resolver.js.map +0 -1
- package/dist-server/service/location/location-master.d.ts +0 -26
- package/dist-server/service/location/location-master.js +0 -28
- package/dist-server/service/location/location-master.js.map +0 -1
- package/dist-server/service/location/location-query.d.ts +0 -15
- package/dist-server/service/location/location-query.js +0 -56
- package/dist-server/service/location/location-query.js.map +0 -1
- package/dist-server/service/location/operational-location.d.ts +0 -116
- package/dist-server/service/location/operational-location.js +0 -157
- package/dist-server/service/location/operational-location.js.map +0 -1
- package/dist-server/service/master-axis.d.ts +0 -40
- package/dist-server/service/master-axis.js +0 -57
- package/dist-server/service/master-axis.js.map +0 -1
- package/dist-server/service/master-change-approval/approval-input.d.ts +0 -17
- package/dist-server/service/master-change-approval/approval-input.js +0 -35
- package/dist-server/service/master-change-approval/approval-input.js.map +0 -1
- package/dist-server/service/master-change-approval/builtin-axes.d.ts +0 -4
- package/dist-server/service/master-change-approval/builtin-axes.js +0 -96
- package/dist-server/service/master-change-approval/builtin-axes.js.map +0 -1
- package/dist-server/service/master-change-approval/index.d.ts +0 -14
- package/dist-server/service/master-change-approval/index.js +0 -37
- package/dist-server/service/master-change-approval/index.js.map +0 -1
- package/dist-server/service/master-change-approval/master-change-axis.d.ts +0 -54
- package/dist-server/service/master-change-approval/master-change-axis.js +0 -17
- package/dist-server/service/master-change-approval/master-change-axis.js.map +0 -1
- package/dist-server/service/master-change-approval/master-change-flow.d.ts +0 -65
- package/dist-server/service/master-change-approval/master-change-flow.js +0 -125
- package/dist-server/service/master-change-approval/master-change-flow.js.map +0 -1
- package/dist-server/service/master-change-approval/master-change-resolver.d.ts +0 -18
- package/dist-server/service/master-change-approval/master-change-resolver.js +0 -58
- package/dist-server/service/master-change-approval/master-change-resolver.js.map +0 -1
- package/dist-server/service/master-change-policy.d.ts +0 -122
- package/dist-server/service/master-change-policy.js +0 -304
- package/dist-server/service/master-change-policy.js.map +0 -1
- package/dist-server/service/master-conformance-resolver.d.ts +0 -34
- package/dist-server/service/master-conformance-resolver.js +0 -153
- package/dist-server/service/master-conformance-resolver.js.map +0 -1
- package/dist-server/service/master-conformance.d.ts +0 -80
- package/dist-server/service/master-conformance.js +0 -266
- package/dist-server/service/master-conformance.js.map +0 -1
- package/dist-server/service/master-crud.d.ts +0 -55
- package/dist-server/service/master-crud.js +0 -93
- package/dist-server/service/master-crud.js.map +0 -1
- package/dist-server/service/master-list.d.ts +0 -12
- package/dist-server/service/master-list.js +0 -30
- package/dist-server/service/master-list.js.map +0 -1
- package/dist-server/service/master-page-query.d.ts +0 -33
- package/dist-server/service/master-page-query.js +0 -55
- package/dist-server/service/master-page-query.js.map +0 -1
- package/dist-server/service/master-page.d.ts +0 -85
- package/dist-server/service/master-page.js +0 -104
- package/dist-server/service/master-page.js.map +0 -1
- package/dist-server/service/material/index.d.ts +0 -7
- package/dist-server/service/material/index.js +0 -12
- package/dist-server/service/material/index.js.map +0 -1
- package/dist-server/service/material/material-axis-status.d.ts +0 -8
- package/dist-server/service/material/material-axis-status.js +0 -19
- package/dist-server/service/material/material-axis-status.js.map +0 -1
- package/dist-server/service/material/material-class.d.ts +0 -34
- package/dist-server/service/material/material-class.js +0 -104
- package/dist-server/service/material/material-class.js.map +0 -1
- package/dist-server/service/material/material-definition.d.ts +0 -45
- package/dist-server/service/material/material-definition.js +0 -125
- package/dist-server/service/material/material-definition.js.map +0 -1
- package/dist-server/service/material/material-effective-list.d.ts +0 -39
- package/dist-server/service/material/material-effective-list.js +0 -54
- package/dist-server/service/material/material-effective-list.js.map +0 -1
- package/dist-server/service/material/material-master-resolver.d.ts +0 -106
- package/dist-server/service/material/material-master-resolver.js +0 -351
- package/dist-server/service/material/material-master-resolver.js.map +0 -1
- package/dist-server/service/material/material-master.d.ts +0 -9
- package/dist-server/service/material/material-master.js +0 -24
- package/dist-server/service/material/material-master.js.map +0 -1
- package/dist-server/service/material/material-query.d.ts +0 -16
- package/dist-server/service/material/material-query.js +0 -79
- package/dist-server/service/material/material-query.js.map +0 -1
- package/dist-server/service/material/material-revision-content.d.ts +0 -10
- package/dist-server/service/material/material-revision-content.js +0 -92
- package/dist-server/service/material/material-revision-content.js.map +0 -1
- package/dist-server/service/material/material-revision-resolver.d.ts +0 -60
- package/dist-server/service/material/material-revision-resolver.js +0 -96
- package/dist-server/service/material/material-revision-resolver.js.map +0 -1
- package/dist-server/service/material/material-revision-service.d.ts +0 -179
- package/dist-server/service/material/material-revision-service.js +0 -687
- package/dist-server/service/material/material-revision-service.js.map +0 -1
- package/dist-server/service/material/material-revision.d.ts +0 -86
- package/dist-server/service/material/material-revision.js +0 -339
- package/dist-server/service/material/material-revision.js.map +0 -1
- package/dist-server/service/material/recipe-index.d.ts +0 -23
- package/dist-server/service/material/recipe-index.js +0 -44
- package/dist-server/service/material/recipe-index.js.map +0 -1
- package/dist-server/service/operation/index.d.ts +0 -6
- package/dist-server/service/operation/index.js +0 -10
- package/dist-server/service/operation/index.js.map +0 -1
- package/dist-server/service/operation/operation-definition.d.ts +0 -52
- package/dist-server/service/operation/operation-definition.js +0 -143
- package/dist-server/service/operation/operation-definition.js.map +0 -1
- package/dist-server/service/operation/operation-master-resolver.d.ts +0 -52
- package/dist-server/service/operation/operation-master-resolver.js +0 -187
- package/dist-server/service/operation/operation-master-resolver.js.map +0 -1
- package/dist-server/service/operation/operation-master.d.ts +0 -21
- package/dist-server/service/operation/operation-master.js +0 -28
- package/dist-server/service/operation/operation-master.js.map +0 -1
- package/dist-server/service/operation/operation-query.d.ts +0 -15
- package/dist-server/service/operation/operation-query.js +0 -56
- package/dist-server/service/operation/operation-query.js.map +0 -1
- package/dist-server/service/operation/operation-readiness-resolver.d.ts +0 -39
- package/dist-server/service/operation/operation-readiness-resolver.js +0 -111
- package/dist-server/service/operation/operation-readiness-resolver.js.map +0 -1
- package/dist-server/service/operation/operation-readiness.d.ts +0 -34
- package/dist-server/service/operation/operation-readiness.js +0 -133
- package/dist-server/service/operation/operation-readiness.js.map +0 -1
- package/dist-server/service/personnel/index.d.ts +0 -6
- package/dist-server/service/personnel/index.js +0 -10
- package/dist-server/service/personnel/index.js.map +0 -1
- package/dist-server/service/personnel/person.d.ts +0 -51
- package/dist-server/service/personnel/person.js +0 -119
- package/dist-server/service/personnel/person.js.map +0 -1
- package/dist-server/service/personnel/personnel-class-readiness.d.ts +0 -22
- package/dist-server/service/personnel/personnel-class-readiness.js +0 -98
- package/dist-server/service/personnel/personnel-class-readiness.js.map +0 -1
- package/dist-server/service/personnel/personnel-class.d.ts +0 -54
- package/dist-server/service/personnel/personnel-class.js +0 -114
- package/dist-server/service/personnel/personnel-class.js.map +0 -1
- package/dist-server/service/personnel/personnel-master-resolver.d.ts +0 -53
- package/dist-server/service/personnel/personnel-master-resolver.js +0 -187
- package/dist-server/service/personnel/personnel-master-resolver.js.map +0 -1
- package/dist-server/service/personnel/personnel-master.d.ts +0 -39
- package/dist-server/service/personnel/personnel-master.js +0 -34
- package/dist-server/service/personnel/personnel-master.js.map +0 -1
- package/dist-server/service/personnel/personnel-query.d.ts +0 -29
- package/dist-server/service/personnel/personnel-query.js +0 -79
- package/dist-server/service/personnel/personnel-query.js.map +0 -1
- package/dist-server/service/personnel/qualification.d.ts +0 -104
- package/dist-server/service/personnel/qualification.js +0 -147
- package/dist-server/service/personnel/qualification.js.map +0 -1
- package/dist-server/service/quality/index.d.ts +0 -4
- package/dist-server/service/quality/index.js +0 -8
- package/dist-server/service/quality/index.js.map +0 -1
- package/dist-server/service/quality/nonconformance-cause-resolver.d.ts +0 -12
- package/dist-server/service/quality/nonconformance-cause-resolver.js +0 -60
- package/dist-server/service/quality/nonconformance-cause-resolver.js.map +0 -1
- package/dist-server/service/quality/nonconformance-cause.d.ts +0 -20
- package/dist-server/service/quality/nonconformance-cause.js +0 -90
- package/dist-server/service/quality/nonconformance-cause.js.map +0 -1
- package/dist-server/service/recipe/index.d.ts +0 -10
- package/dist-server/service/recipe/index.js +0 -16
- package/dist-server/service/recipe/index.js.map +0 -1
- package/dist-server/service/recipe/recipe-definition.d.ts +0 -75
- package/dist-server/service/recipe/recipe-definition.js +0 -143
- package/dist-server/service/recipe/recipe-definition.js.map +0 -1
- package/dist-server/service/recipe/recipe-effective-list.d.ts +0 -49
- package/dist-server/service/recipe/recipe-effective-list.js +0 -96
- package/dist-server/service/recipe/recipe-effective-list.js.map +0 -1
- package/dist-server/service/recipe/recipe-master-resolver.d.ts +0 -28
- package/dist-server/service/recipe/recipe-master-resolver.js +0 -128
- package/dist-server/service/recipe/recipe-master-resolver.js.map +0 -1
- package/dist-server/service/recipe/recipe-master.d.ts +0 -37
- package/dist-server/service/recipe/recipe-master.js +0 -47
- package/dist-server/service/recipe/recipe-master.js.map +0 -1
- package/dist-server/service/recipe/recipe-query.d.ts +0 -21
- package/dist-server/service/recipe/recipe-query.js +0 -82
- package/dist-server/service/recipe/recipe-query.js.map +0 -1
- package/dist-server/service/recipe/recipe-revision-content.d.ts +0 -32
- package/dist-server/service/recipe/recipe-revision-content.js +0 -70
- package/dist-server/service/recipe/recipe-revision-content.js.map +0 -1
- package/dist-server/service/recipe/recipe-revision-line.d.ts +0 -30
- package/dist-server/service/recipe/recipe-revision-line.js +0 -95
- package/dist-server/service/recipe/recipe-revision-line.js.map +0 -1
- package/dist-server/service/recipe/recipe-revision-resolver.d.ts +0 -65
- package/dist-server/service/recipe/recipe-revision-resolver.js +0 -96
- package/dist-server/service/recipe/recipe-revision-resolver.js.map +0 -1
- package/dist-server/service/recipe/recipe-revision-service.d.ts +0 -183
- package/dist-server/service/recipe/recipe-revision-service.js +0 -754
- package/dist-server/service/recipe/recipe-revision-service.js.map +0 -1
- package/dist-server/service/recipe/recipe-revision.d.ts +0 -102
- package/dist-server/service/recipe/recipe-revision.js +0 -373
- package/dist-server/service/recipe/recipe-revision.js.map +0 -1
- package/dist-server/service/recipe/route-definition.d.ts +0 -51
- package/dist-server/service/recipe/route-definition.js +0 -114
- package/dist-server/service/recipe/route-definition.js.map +0 -1
- package/dist-server/service/resource/class-lineage.d.ts +0 -46
- package/dist-server/service/resource/class-lineage.js +0 -80
- package/dist-server/service/resource/class-lineage.js.map +0 -1
- package/dist-server/service/resource/class-members.d.ts +0 -36
- package/dist-server/service/resource/class-members.js +0 -59
- package/dist-server/service/resource/class-members.js.map +0 -1
- package/dist-server/service/resource/referrers.d.ts +0 -54
- package/dist-server/service/resource/referrers.js +0 -99
- package/dist-server/service/resource/referrers.js.map +0 -1
- package/dist-server/service/resource/resource-class.d.ts +0 -25
- package/dist-server/service/resource/resource-class.js +0 -29
- package/dist-server/service/resource/resource-class.js.map +0 -1
- package/dist-server/service/revision-baseline.d.ts +0 -71
- package/dist-server/service/revision-baseline.js +0 -87
- package/dist-server/service/revision-baseline.js.map +0 -1
- package/dist-server/service/row-lock.d.ts +0 -22
- package/dist-server/service/row-lock.js +0 -31
- package/dist-server/service/row-lock.js.map +0 -1
- package/dist-server/service/status/axis-stamp.d.ts +0 -16
- package/dist-server/service/status/axis-stamp.js +0 -22
- package/dist-server/service/status/axis-stamp.js.map +0 -1
- package/dist-server/service/status/index.d.ts +0 -3
- package/dist-server/service/status/index.js +0 -7
- package/dist-server/service/status/index.js.map +0 -1
- package/dist-server/service/status/master-status.d.ts +0 -38
- package/dist-server/service/status/master-status.js +0 -129
- package/dist-server/service/status/master-status.js.map +0 -1
- package/dist-server/service/test-spec/criteria-check.d.ts +0 -53
- package/dist-server/service/test-spec/criteria-check.js +0 -142
- package/dist-server/service/test-spec/criteria-check.js.map +0 -1
- package/dist-server/service/test-spec/criteria-rows.d.ts +0 -89
- package/dist-server/service/test-spec/criteria-rows.js +0 -139
- package/dist-server/service/test-spec/criteria-rows.js.map +0 -1
- package/dist-server/service/test-spec/index.d.ts +0 -6
- package/dist-server/service/test-spec/index.js +0 -11
- package/dist-server/service/test-spec/index.js.map +0 -1
- package/dist-server/service/test-spec/test-spec-effective-list.d.ts +0 -34
- package/dist-server/service/test-spec/test-spec-effective-list.js +0 -42
- package/dist-server/service/test-spec/test-spec-effective-list.js.map +0 -1
- package/dist-server/service/test-spec/test-spec-master-resolver.d.ts +0 -44
- package/dist-server/service/test-spec/test-spec-master-resolver.js +0 -144
- package/dist-server/service/test-spec/test-spec-master-resolver.js.map +0 -1
- package/dist-server/service/test-spec/test-spec-master.d.ts +0 -6
- package/dist-server/service/test-spec/test-spec-master.js +0 -18
- package/dist-server/service/test-spec/test-spec-master.js.map +0 -1
- package/dist-server/service/test-spec/test-spec-query.d.ts +0 -15
- package/dist-server/service/test-spec/test-spec-query.js +0 -61
- package/dist-server/service/test-spec/test-spec-query.js.map +0 -1
- package/dist-server/service/test-spec/test-spec-revision-resolver.d.ts +0 -59
- package/dist-server/service/test-spec/test-spec-revision-resolver.js +0 -96
- package/dist-server/service/test-spec/test-spec-revision-resolver.js.map +0 -1
- package/dist-server/service/test-spec/test-spec-revision-service.d.ts +0 -178
- package/dist-server/service/test-spec/test-spec-revision-service.js +0 -685
- package/dist-server/service/test-spec/test-spec-revision-service.js.map +0 -1
- package/dist-server/service/test-spec/test-spec-revision.d.ts +0 -86
- package/dist-server/service/test-spec/test-spec-revision.js +0 -334
- package/dist-server/service/test-spec/test-spec-revision.js.map +0 -1
- package/dist-server/service/test-spec/test-specification.d.ts +0 -47
- package/dist-server/service/test-spec/test-specification.js +0 -119
- package/dist-server/service/test-spec/test-specification.js.map +0 -1
- package/dist-server/tsconfig.tsbuildinfo +0 -1
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 올린 파일의 줄을 저장할 수 있는 모양으로 바꾼다.
|
|
3
|
-
*
|
|
4
|
-
* 화면에서 떼어 둔 이유는 테스트 때문이다. 여기서 구분하는 것(모르는 칸·이름 없음·같은 이름 두 번·
|
|
5
|
-
* 빈 줄)은 파일마다 실제로 일어나는 일이고, 브라우저를 띄우지 않고 확인할 수 있어야 한다.
|
|
6
|
-
*
|
|
7
|
-
* 말은 여기서 만들지 않는다. 무엇이 잘못됐는지만 돌려주고, 사람에게 보일 문장은 화면이 만든다.
|
|
8
|
-
*/
|
|
9
|
-
/**
|
|
10
|
-
* @param records 파일에서 읽어 온 줄들. 키는 파일의 머리글 그대로다.
|
|
11
|
-
* @param columnOf 머리글 하나를 이 화면의 칸 이름으로 바꾼다. 모르는 머리글이면 `undefined`.
|
|
12
|
-
*/
|
|
13
|
-
export function readImportRows(records, columnOf) {
|
|
14
|
-
const rows = [];
|
|
15
|
-
const problems = [];
|
|
16
|
-
const seen = new Set();
|
|
17
|
-
records.forEach((record, at) => {
|
|
18
|
-
/* 1은 머리글 줄이다. 사람이 엑셀에서 보는 줄 번호로 말한다. */
|
|
19
|
-
const line = at + 2;
|
|
20
|
-
const row = {};
|
|
21
|
-
for (const [header, value] of Object.entries(record)) {
|
|
22
|
-
/*
|
|
23
|
-
* 머리글과 값의 끝을 다듬는다. 윈도우에서 만든 파일은 줄이 CR LF 로 끝나서 마지막 칸의
|
|
24
|
-
* 머리글과 값에 CR 이 붙어 온다.
|
|
25
|
-
*/
|
|
26
|
-
const column = columnOf(String(header).trim());
|
|
27
|
-
const trimmed = typeof value === 'string' ? value.trim() : value;
|
|
28
|
-
if (!column) {
|
|
29
|
-
problems.push({ kind: 'unknown-column', line, column: String(header).trim() });
|
|
30
|
-
continue;
|
|
31
|
-
}
|
|
32
|
-
row[column] = trimmed;
|
|
33
|
-
}
|
|
34
|
-
/*
|
|
35
|
-
* 빈 줄은 없는 줄로 친다 — 파일 끝의 줄바꿈 하나가 값이 다 빈 줄 하나를 만든다.
|
|
36
|
-
* 그것을 「이름이 없다」고 물면 멀쩡한 파일이 늘 거절된다.
|
|
37
|
-
*/
|
|
38
|
-
if (Object.values(row).every(value => value === '' || value === null || value === undefined)) {
|
|
39
|
-
return;
|
|
40
|
-
}
|
|
41
|
-
const name = String(row.name ?? '').trim();
|
|
42
|
-
if (!name) {
|
|
43
|
-
problems.push({ kind: 'no-name', line });
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
if (seen.has(name)) {
|
|
47
|
-
problems.push({ kind: 'duplicate-name', line, name });
|
|
48
|
-
return;
|
|
49
|
-
}
|
|
50
|
-
seen.add(name);
|
|
51
|
-
rows.push({ ...row, name });
|
|
52
|
-
});
|
|
53
|
-
return { rows, problems };
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* 이미 있는 이름이면 고침(`M`), 없으면 새로 만들기(`+`).
|
|
57
|
-
*
|
|
58
|
-
* 이것을 안 하면 같은 이름이 두 벌 생긴다 — 서버는 이름으로 합쳐 주지 않는다.
|
|
59
|
-
*/
|
|
60
|
-
export function patchesFor(rows, idOf) {
|
|
61
|
-
return rows.map(row => {
|
|
62
|
-
const id = idOf(String(row.name));
|
|
63
|
-
return id ? { ...row, id, cuFlag: 'M' } : { ...row, cuFlag: '+' };
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
//# sourceMappingURL=import-rows.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"import-rows.js","sourceRoot":"","sources":["../../../client/pages/master/import-rows.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAYH;;;GAGG;AACH,MAAM,UAAU,cAAc,CAC5B,OAAkC,EAClC,QAAgD;IAEhD,MAAM,IAAI,GAA8B,EAAE,CAAA;IAC1C,MAAM,QAAQ,GAAoB,EAAE,CAAA;IACpC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;IAE9B,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;QAC7B,wCAAwC;QACxC,MAAM,IAAI,GAAG,EAAE,GAAG,CAAC,CAAA;QACnB,MAAM,GAAG,GAA4B,EAAE,CAAA;QAEvC,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACrD;;;eAGG;YACH,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;YAC9C,MAAM,OAAO,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAA;YAEhE,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;gBAC9E,SAAQ;YACV,CAAC;YAED,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAAA;QACvB,CAAC;QAED;;;WAGG;QACH,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC,EAAE,CAAC;YAC7F,OAAM;QACR,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;QAE1C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YACxC,OAAM;QACR,CAAC;QAED,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACnB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;YACrD,OAAM;QACR,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,CAAC,CAAA;IAC7B,CAAC,CAAC,CAAA;IAEF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAA;AAC3B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU,CACxB,IAA+B,EAC/B,IAA0C;IAE1C,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QACpB,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;QAEjC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAA;IACnE,CAAC,CAAC,CAAA;AACJ,CAAC","sourcesContent":["/**\n * 올린 파일의 줄을 저장할 수 있는 모양으로 바꾼다.\n *\n * 화면에서 떼어 둔 이유는 테스트 때문이다. 여기서 구분하는 것(모르는 칸·이름 없음·같은 이름 두 번·\n * 빈 줄)은 파일마다 실제로 일어나는 일이고, 브라우저를 띄우지 않고 확인할 수 있어야 한다.\n *\n * 말은 여기서 만들지 않는다. 무엇이 잘못됐는지만 돌려주고, 사람에게 보일 문장은 화면이 만든다.\n */\n\nexport type ImportProblem =\n | { kind: 'unknown-column'; line: number; column: string }\n | { kind: 'no-name'; line: number }\n | { kind: 'duplicate-name'; line: number; name: string }\n\nexport type ImportReading = {\n rows: Record<string, unknown>[]\n problems: ImportProblem[]\n}\n\n/**\n * @param records 파일에서 읽어 온 줄들. 키는 파일의 머리글 그대로다.\n * @param columnOf 머리글 하나를 이 화면의 칸 이름으로 바꾼다. 모르는 머리글이면 `undefined`.\n */\nexport function readImportRows(\n records: Record<string, unknown>[],\n columnOf: (header: string) => string | undefined\n): ImportReading {\n const rows: Record<string, unknown>[] = []\n const problems: ImportProblem[] = []\n const seen = new Set<string>()\n\n records.forEach((record, at) => {\n /* 1은 머리글 줄이다. 사람이 엑셀에서 보는 줄 번호로 말한다. */\n const line = at + 2\n const row: Record<string, unknown> = {}\n\n for (const [header, value] of Object.entries(record)) {\n /*\n * 머리글과 값의 끝을 다듬는다. 윈도우에서 만든 파일은 줄이 CR LF 로 끝나서 마지막 칸의\n * 머리글과 값에 CR 이 붙어 온다.\n */\n const column = columnOf(String(header).trim())\n const trimmed = typeof value === 'string' ? value.trim() : value\n\n if (!column) {\n problems.push({ kind: 'unknown-column', line, column: String(header).trim() })\n continue\n }\n\n row[column] = trimmed\n }\n\n /*\n * 빈 줄은 없는 줄로 친다 — 파일 끝의 줄바꿈 하나가 값이 다 빈 줄 하나를 만든다.\n * 그것을 「이름이 없다」고 물면 멀쩡한 파일이 늘 거절된다.\n */\n if (Object.values(row).every(value => value === '' || value === null || value === undefined)) {\n return\n }\n\n const name = String(row.name ?? '').trim()\n\n if (!name) {\n problems.push({ kind: 'no-name', line })\n return\n }\n\n if (seen.has(name)) {\n problems.push({ kind: 'duplicate-name', line, name })\n return\n }\n\n seen.add(name)\n rows.push({ ...row, name })\n })\n\n return { rows, problems }\n}\n\n/**\n * 이미 있는 이름이면 고침(`M`), 없으면 새로 만들기(`+`).\n *\n * 이것을 안 하면 같은 이름이 두 벌 생긴다 — 서버는 이름으로 합쳐 주지 않는다.\n */\nexport function patchesFor(\n rows: Record<string, unknown>[],\n idOf: (name: string) => string | undefined\n): Record<string, unknown>[] {\n return rows.map(row => {\n const id = idOf(String(row.name))\n\n return id ? { ...row, id, cuFlag: 'M' } : { ...row, cuFlag: '+' }\n })\n}\n"]}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ISO 8601 기간을 화면에서 다룬다 — **커널이 읽는 표기 그대로 저장한다.**
|
|
3
|
-
*
|
|
4
|
-
* ── 왜 있는 편집기를 안 썼나 ────────────────────────────────────────────────
|
|
5
|
-
* `@operato/grist-editor` 에 `duration` 편집기와 렌더러가 있다. 그런데 그것은 **초 숫자**를 받는다.
|
|
6
|
-
* 소스를 보면 첫 줄이 `Number(value) || 0` 이다. 우리 칸에는 `PT209S` 가 들어 있고 `Number('PT209S')`
|
|
7
|
-
* 는 NaN 이라 0 으로 떨어져서, 화면에 **아무것도 안 나왔다.** 붙여 놓고 확인하지 않았으면 「소요시간이
|
|
8
|
-
* 비어 있다」로 보였을 것이다. [확인함] 2026-09-04
|
|
9
|
-
*
|
|
10
|
-
* 더 나쁜 것은 쓰는 쪽이다. 그 편집기로 고치면 초 숫자가 저장되고, 커널은 그 칸을 ISO 8601 로
|
|
11
|
-
* 읽으므로 그때부터 이 공정의 소요시간이 「모른다」가 된다. 화면에는 값이 있는데.
|
|
12
|
-
*
|
|
13
|
-
* ── 읽는 쪽은 커널 것을 쓴다 ───────────────────────────────────────────────
|
|
14
|
-
* `parseIsoDuration` 이 계약에 있다. 해석 규칙을 여기서 다시 쓰면 두 곳에 생기고, 커널이 받아주지 않는 것을
|
|
15
|
-
* 화면이 받아들이는 날이 온다(연·월은 달력에 기대므로 커널이 받아주지 않는다).
|
|
16
|
-
*
|
|
17
|
-
* 쓰는 쪽은 계약에 없다. 여기서 만들고 아키텍트에게 올려 두었다 — 읽는 쪽을 가진 곳이 쓰는 쪽도
|
|
18
|
-
* 가지는 편이 맞다.
|
|
19
|
-
*/
|
|
20
|
-
/** 초 → ISO 8601. 편집기가 저장할 때 쓴다. */
|
|
21
|
-
export declare function isoDurationOfSeconds(seconds: number): string;
|
|
22
|
-
/** ISO 8601 → 초. 해석할 수 없으면 `undefined` — 0 이 아니다. */
|
|
23
|
-
export declare function secondsOfIsoDuration(text: string | undefined): number | undefined;
|
|
24
|
-
/**
|
|
25
|
-
* 사람이 읽는 글자.
|
|
26
|
-
*
|
|
27
|
-
* **해석할 수 없으면 원문을 그대로 낸다.** 빈 칸으로 두면 「값이 없다」와 「값이 이상하다」가 같아
|
|
28
|
-
* 보인다. `PT30` 처럼 커널이 못 읽는 것이 들어 있으면 그것이 화면에 보여야 고칠 수 있다.
|
|
29
|
-
*/
|
|
30
|
-
export declare function durationText(value: string | undefined, unit: {
|
|
31
|
-
hour: string;
|
|
32
|
-
minute: string;
|
|
33
|
-
second: string;
|
|
34
|
-
}): string;
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import { parseIsoDuration } from '@operato/ops-contract';
|
|
2
|
-
/**
|
|
3
|
-
* ISO 8601 기간을 화면에서 다룬다 — **커널이 읽는 표기 그대로 저장한다.**
|
|
4
|
-
*
|
|
5
|
-
* ── 왜 있는 편집기를 안 썼나 ────────────────────────────────────────────────
|
|
6
|
-
* `@operato/grist-editor` 에 `duration` 편집기와 렌더러가 있다. 그런데 그것은 **초 숫자**를 받는다.
|
|
7
|
-
* 소스를 보면 첫 줄이 `Number(value) || 0` 이다. 우리 칸에는 `PT209S` 가 들어 있고 `Number('PT209S')`
|
|
8
|
-
* 는 NaN 이라 0 으로 떨어져서, 화면에 **아무것도 안 나왔다.** 붙여 놓고 확인하지 않았으면 「소요시간이
|
|
9
|
-
* 비어 있다」로 보였을 것이다. [확인함] 2026-09-04
|
|
10
|
-
*
|
|
11
|
-
* 더 나쁜 것은 쓰는 쪽이다. 그 편집기로 고치면 초 숫자가 저장되고, 커널은 그 칸을 ISO 8601 로
|
|
12
|
-
* 읽으므로 그때부터 이 공정의 소요시간이 「모른다」가 된다. 화면에는 값이 있는데.
|
|
13
|
-
*
|
|
14
|
-
* ── 읽는 쪽은 커널 것을 쓴다 ───────────────────────────────────────────────
|
|
15
|
-
* `parseIsoDuration` 이 계약에 있다. 해석 규칙을 여기서 다시 쓰면 두 곳에 생기고, 커널이 받아주지 않는 것을
|
|
16
|
-
* 화면이 받아들이는 날이 온다(연·월은 달력에 기대므로 커널이 받아주지 않는다).
|
|
17
|
-
*
|
|
18
|
-
* 쓰는 쪽은 계약에 없다. 여기서 만들고 아키텍트에게 올려 두었다 — 읽는 쪽을 가진 곳이 쓰는 쪽도
|
|
19
|
-
* 가지는 편이 맞다.
|
|
20
|
-
*/
|
|
21
|
-
/** 초 → ISO 8601. 편집기가 저장할 때 쓴다. */
|
|
22
|
-
export function isoDurationOfSeconds(seconds) {
|
|
23
|
-
/*
|
|
24
|
-
* **`PT<초>S` 하나로만 쓴다.** 시·분으로 나눠 쓰면 보기에는 좋지만, 고칠 때마다 표기가 달라져서
|
|
25
|
-
* 같은 값인데 저장된 글자가 계속 바뀐다. 사람이 읽는 것은 렌더러가 맡는다.
|
|
26
|
-
*
|
|
27
|
-
* **소수를 반올림하지 않는다.** 처음에 `Math.round` 를 넣었더니 작업표준서의 6.5초가 7초로
|
|
28
|
-
* 저장됐다 — 화면에는 「6.5초」로 보이던 값을 열었다 닫기만 해도 0.5초가 늘어난다. 공정
|
|
29
|
-
* 스물넷이면 12초다. [확인함] 2026-09-04
|
|
30
|
-
*
|
|
31
|
-
* 밀리초 자리에서 끊는다. 커널의 해석기가 밀리초로 내주므로 그보다 잘게 적어 봐야 돌아오지
|
|
32
|
-
* 않고, 부동소수 찌꺼기(`0.30000000000000004`)만 글자에 남는다.
|
|
33
|
-
*/
|
|
34
|
-
const rounded = Math.round(seconds * 1000) / 1000;
|
|
35
|
-
return `PT${rounded}S`;
|
|
36
|
-
}
|
|
37
|
-
/** ISO 8601 → 초. 해석할 수 없으면 `undefined` — 0 이 아니다. */
|
|
38
|
-
export function secondsOfIsoDuration(text) {
|
|
39
|
-
const ms = parseIsoDuration(text);
|
|
40
|
-
return ms === undefined ? undefined : ms / 1000;
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* 사람이 읽는 글자.
|
|
44
|
-
*
|
|
45
|
-
* **해석할 수 없으면 원문을 그대로 낸다.** 빈 칸으로 두면 「값이 없다」와 「값이 이상하다」가 같아
|
|
46
|
-
* 보인다. `PT30` 처럼 커널이 못 읽는 것이 들어 있으면 그것이 화면에 보여야 고칠 수 있다.
|
|
47
|
-
*/
|
|
48
|
-
export function durationText(value, unit) {
|
|
49
|
-
if (!value) {
|
|
50
|
-
return '';
|
|
51
|
-
}
|
|
52
|
-
const seconds = secondsOfIsoDuration(value);
|
|
53
|
-
if (seconds === undefined) {
|
|
54
|
-
return value;
|
|
55
|
-
}
|
|
56
|
-
const negative = seconds < 0;
|
|
57
|
-
let rest = Math.abs(seconds);
|
|
58
|
-
const hours = Math.floor(rest / 3600);
|
|
59
|
-
rest -= hours * 3600;
|
|
60
|
-
const minutes = Math.floor(rest / 60);
|
|
61
|
-
/* 소수 초가 있을 수 있다 — `PT0.5S`. 버리지 않는다. */
|
|
62
|
-
const secs = Math.round((rest - minutes * 60) * 1000) / 1000;
|
|
63
|
-
const parts = [];
|
|
64
|
-
if (hours) {
|
|
65
|
-
parts.push(`${hours}${unit.hour}`);
|
|
66
|
-
}
|
|
67
|
-
if (minutes) {
|
|
68
|
-
parts.push(`${minutes}${unit.minute}`);
|
|
69
|
-
}
|
|
70
|
-
/* 0초는 「0초」라고 적는다 — 다른 자리가 하나도 없을 때만. 아니면 「1분 0초」가 된다. */
|
|
71
|
-
if (secs || parts.length === 0) {
|
|
72
|
-
parts.push(`${secs}${unit.second}`);
|
|
73
|
-
}
|
|
74
|
-
return `${negative ? '-' : ''}${parts.join(' ')}`;
|
|
75
|
-
}
|
|
76
|
-
//# sourceMappingURL=iso-duration.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"iso-duration.js","sourceRoot":"","sources":["../../../client/pages/master/iso-duration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAExD;;;;;;;;;;;;;;;;;;GAkBG;AAEH,mCAAmC;AACnC,MAAM,UAAU,oBAAoB,CAAC,OAAe;IAClD;;;;;;;;;;OAUG;IACH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,IAAI,CAAA;IAEjD,OAAO,KAAK,OAAO,GAAG,CAAA;AACxB,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,oBAAoB,CAAC,IAAwB;IAC3D,MAAM,EAAE,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAA;IAEjC,OAAO,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAA;AACjD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,KAAyB,EAAE,IAAsD;IAC5G,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,CAAA;IACX,CAAC;IAED,MAAM,OAAO,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAA;IAE3C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,GAAG,CAAC,CAAA;IAC5B,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IAE5B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAA;IACrC,IAAI,IAAI,KAAK,GAAG,IAAI,CAAA;IACpB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC,CAAA;IACrC,wCAAwC;IACxC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,OAAO,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAA;IAE5D,MAAM,KAAK,GAAa,EAAE,CAAA;IAE1B,IAAI,KAAK,EAAE,CAAC;QACV,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;IACpC,CAAC;IACD,IAAI,OAAO,EAAE,CAAC;QACZ,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;IACxC,CAAC;IACD,yDAAyD;IACzD,IAAI,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;IACrC,CAAC;IAED,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAA;AACnD,CAAC","sourcesContent":["import { parseIsoDuration } from '@operato/ops-contract'\n\n/**\n * ISO 8601 기간을 화면에서 다룬다 — **커널이 읽는 표기 그대로 저장한다.**\n *\n * ── 왜 있는 편집기를 안 썼나 ────────────────────────────────────────────────\n * `@operato/grist-editor` 에 `duration` 편집기와 렌더러가 있다. 그런데 그것은 **초 숫자**를 받는다.\n * 소스를 보면 첫 줄이 `Number(value) || 0` 이다. 우리 칸에는 `PT209S` 가 들어 있고 `Number('PT209S')`\n * 는 NaN 이라 0 으로 떨어져서, 화면에 **아무것도 안 나왔다.** 붙여 놓고 확인하지 않았으면 「소요시간이\n * 비어 있다」로 보였을 것이다. [확인함] 2026-09-04\n *\n * 더 나쁜 것은 쓰는 쪽이다. 그 편집기로 고치면 초 숫자가 저장되고, 커널은 그 칸을 ISO 8601 로\n * 읽으므로 그때부터 이 공정의 소요시간이 「모른다」가 된다. 화면에는 값이 있는데.\n *\n * ── 읽는 쪽은 커널 것을 쓴다 ───────────────────────────────────────────────\n * `parseIsoDuration` 이 계약에 있다. 해석 규칙을 여기서 다시 쓰면 두 곳에 생기고, 커널이 받아주지 않는 것을\n * 화면이 받아들이는 날이 온다(연·월은 달력에 기대므로 커널이 받아주지 않는다).\n *\n * 쓰는 쪽은 계약에 없다. 여기서 만들고 아키텍트에게 올려 두었다 — 읽는 쪽을 가진 곳이 쓰는 쪽도\n * 가지는 편이 맞다.\n */\n\n/** 초 → ISO 8601. 편집기가 저장할 때 쓴다. */\nexport function isoDurationOfSeconds(seconds: number): string {\n /*\n * **`PT<초>S` 하나로만 쓴다.** 시·분으로 나눠 쓰면 보기에는 좋지만, 고칠 때마다 표기가 달라져서\n * 같은 값인데 저장된 글자가 계속 바뀐다. 사람이 읽는 것은 렌더러가 맡는다.\n *\n * **소수를 반올림하지 않는다.** 처음에 `Math.round` 를 넣었더니 작업표준서의 6.5초가 7초로\n * 저장됐다 — 화면에는 「6.5초」로 보이던 값을 열었다 닫기만 해도 0.5초가 늘어난다. 공정\n * 스물넷이면 12초다. [확인함] 2026-09-04\n *\n * 밀리초 자리에서 끊는다. 커널의 해석기가 밀리초로 내주므로 그보다 잘게 적어 봐야 돌아오지\n * 않고, 부동소수 찌꺼기(`0.30000000000000004`)만 글자에 남는다.\n */\n const rounded = Math.round(seconds * 1000) / 1000\n\n return `PT${rounded}S`\n}\n\n/** ISO 8601 → 초. 해석할 수 없으면 `undefined` — 0 이 아니다. */\nexport function secondsOfIsoDuration(text: string | undefined): number | undefined {\n const ms = parseIsoDuration(text)\n\n return ms === undefined ? undefined : ms / 1000\n}\n\n/**\n * 사람이 읽는 글자.\n *\n * **해석할 수 없으면 원문을 그대로 낸다.** 빈 칸으로 두면 「값이 없다」와 「값이 이상하다」가 같아\n * 보인다. `PT30` 처럼 커널이 못 읽는 것이 들어 있으면 그것이 화면에 보여야 고칠 수 있다.\n */\nexport function durationText(value: string | undefined, unit: { hour: string; minute: string; second: string }): string {\n if (!value) {\n return ''\n }\n\n const seconds = secondsOfIsoDuration(value)\n\n if (seconds === undefined) {\n return value\n }\n\n const negative = seconds < 0\n let rest = Math.abs(seconds)\n\n const hours = Math.floor(rest / 3600)\n rest -= hours * 3600\n const minutes = Math.floor(rest / 60)\n /* 소수 초가 있을 수 있다 — `PT0.5S`. 버리지 않는다. */\n const secs = Math.round((rest - minutes * 60) * 1000) / 1000\n\n const parts: string[] = []\n\n if (hours) {\n parts.push(`${hours}${unit.hour}`)\n }\n if (minutes) {\n parts.push(`${minutes}${unit.minute}`)\n }\n /* 0초는 「0초」라고 적는다 — 다른 자리가 하나도 없을 때만. 아니면 「1분 0초」가 된다. */\n if (secs || parts.length === 0) {\n parts.push(`${secs}${unit.second}`)\n }\n\n return `${negative ? '-' : ''}${parts.join(' ')}`\n}\n"]}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 닫힌 값 집합 — **고르는 칸의 값은 커널에서 온다.**
|
|
3
|
-
*
|
|
4
|
-
* ── 왜 이 파일이 있나 ──────────────────────────────────────────────────────
|
|
5
|
-
* 마스터 화면의 칸이 거의 다 자유 텍스트였다. `level` 에 `WorkCel` 이라고 쳐도 아무 일도 안 나고,
|
|
6
|
-
* 저장되고, 그 뒤로 그 자리는 어떤 계산에도 안 잡힌다. 값이 정해져 있는 칸은 고르게 해야 한다.
|
|
7
|
-
*
|
|
8
|
-
* ── 목록을 여기에 손으로 적지 않는다 ────────────────────────────────────────
|
|
9
|
-
* 화면에 값을 베껴 적으면 커널이 값을 하나 늘렸을 때 화면만 옛 목록을 보인다. 그래서 **계약이
|
|
10
|
-
* 실행시 상수로 내주는 것은 그대로 가져다 쓴다.**
|
|
11
|
-
*
|
|
12
|
-
* 계약이 **타입으로만** 주는 것이 있다. 타입은 실행시에 사라지므로 목록을 만들 수 없다. 그때만
|
|
13
|
-
* 거울을 두고, **컴파일러가 그 거울을 계약에 묶는다** — 계약 쪽이 값을 더하거나 빼면 이 파일이
|
|
14
|
-
* 컴파일되지 않는다. 베껴 적은 것과 다른 점이 그것이다.
|
|
15
|
-
*
|
|
16
|
-
* 계약이 상수를 내주면 거울을 지운다. 아키텍트에게 올려 두었다(`EQUIPMENT_LEVEL` ·
|
|
17
|
-
* `DISPOSITION_DECISION` 처럼 `OPERATION_INTENT` 도 상수로).
|
|
18
|
-
*/
|
|
19
|
-
/** 자리의 계층 — ISA-95 장비 계층. 계약이 실행시 상수로 준다. */
|
|
20
|
-
export declare const LEVEL_OPTIONS: readonly string[];
|
|
21
|
-
/**
|
|
22
|
-
* 자리의 **주인 영역** — 창고 · 야드 · 공장 · 에너지(ADR-0081). 계약이 실행시 상수로 준다.
|
|
23
|
-
*
|
|
24
|
-
* 비워 둘 수 있다. 비면 「모름」이고, 어느 제품의 재고에도 들지 않는다 — 타입을 보고 채우는 대체값을
|
|
25
|
-
* 두지 않는다(그 추론이 틀리는 날 남의 자리에 선 물건이 우리 재고가 된다).
|
|
26
|
-
*/
|
|
27
|
-
export declare const SYSTEM_OPTIONS: readonly string[];
|
|
28
|
-
/**
|
|
29
|
-
* 공정의 의도 — 운반 · 가공 · 체류.
|
|
30
|
-
*
|
|
31
|
-
* 계약은 `OperationIntent` 를 **타입**으로만 낸다. 아래 두 줄이 이 배열을 그 타입에 묶는다.
|
|
32
|
-
*/
|
|
33
|
-
export declare const INTENT_OPTIONS: readonly ["transport", "process", "dwell"];
|
|
34
|
-
/**
|
|
35
|
-
* 고르는 칸의 첫 줄은 **빈 값**이다.
|
|
36
|
-
*
|
|
37
|
-
* 안 넣으면 「아직 안 정했다」를 고를 수 없어서, 칸을 한 번 건드리면 되돌릴 수 없다. 비워 둘 수
|
|
38
|
-
* 있는 칸에만 붙인다.
|
|
39
|
-
*/
|
|
40
|
-
export declare function withBlank(options: readonly string[]): string[];
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { DOMAIN_SYSTEMS, EQUIPMENT_LEVEL } from '@operato/ops-contract';
|
|
2
|
-
/**
|
|
3
|
-
* 닫힌 값 집합 — **고르는 칸의 값은 커널에서 온다.**
|
|
4
|
-
*
|
|
5
|
-
* ── 왜 이 파일이 있나 ──────────────────────────────────────────────────────
|
|
6
|
-
* 마스터 화면의 칸이 거의 다 자유 텍스트였다. `level` 에 `WorkCel` 이라고 쳐도 아무 일도 안 나고,
|
|
7
|
-
* 저장되고, 그 뒤로 그 자리는 어떤 계산에도 안 잡힌다. 값이 정해져 있는 칸은 고르게 해야 한다.
|
|
8
|
-
*
|
|
9
|
-
* ── 목록을 여기에 손으로 적지 않는다 ────────────────────────────────────────
|
|
10
|
-
* 화면에 값을 베껴 적으면 커널이 값을 하나 늘렸을 때 화면만 옛 목록을 보인다. 그래서 **계약이
|
|
11
|
-
* 실행시 상수로 내주는 것은 그대로 가져다 쓴다.**
|
|
12
|
-
*
|
|
13
|
-
* 계약이 **타입으로만** 주는 것이 있다. 타입은 실행시에 사라지므로 목록을 만들 수 없다. 그때만
|
|
14
|
-
* 거울을 두고, **컴파일러가 그 거울을 계약에 묶는다** — 계약 쪽이 값을 더하거나 빼면 이 파일이
|
|
15
|
-
* 컴파일되지 않는다. 베껴 적은 것과 다른 점이 그것이다.
|
|
16
|
-
*
|
|
17
|
-
* 계약이 상수를 내주면 거울을 지운다. 아키텍트에게 올려 두었다(`EQUIPMENT_LEVEL` ·
|
|
18
|
-
* `DISPOSITION_DECISION` 처럼 `OPERATION_INTENT` 도 상수로).
|
|
19
|
-
*/
|
|
20
|
-
/** 자리의 계층 — ISA-95 장비 계층. 계약이 실행시 상수로 준다. */
|
|
21
|
-
export const LEVEL_OPTIONS = EQUIPMENT_LEVEL;
|
|
22
|
-
/**
|
|
23
|
-
* 자리의 **주인 영역** — 창고 · 야드 · 공장 · 에너지(ADR-0081). 계약이 실행시 상수로 준다.
|
|
24
|
-
*
|
|
25
|
-
* 비워 둘 수 있다. 비면 「모름」이고, 어느 제품의 재고에도 들지 않는다 — 타입을 보고 채우는 대체값을
|
|
26
|
-
* 두지 않는다(그 추론이 틀리는 날 남의 자리에 선 물건이 우리 재고가 된다).
|
|
27
|
-
*/
|
|
28
|
-
export const SYSTEM_OPTIONS = DOMAIN_SYSTEMS;
|
|
29
|
-
/**
|
|
30
|
-
* 공정의 의도 — 운반 · 가공 · 체류.
|
|
31
|
-
*
|
|
32
|
-
* 계약은 `OperationIntent` 를 **타입**으로만 낸다. 아래 두 줄이 이 배열을 그 타입에 묶는다.
|
|
33
|
-
*/
|
|
34
|
-
export const INTENT_OPTIONS = ['transport', 'process', 'dwell'];
|
|
35
|
-
/*
|
|
36
|
-
* **양쪽으로 묶는다.**
|
|
37
|
-
*
|
|
38
|
-
* 위 줄만 있으면 계약이 값을 하나 빼도 안 깨진다(우리 것이 더 넓어질 뿐이다). 아래 줄만 있으면
|
|
39
|
-
* 계약이 값을 하나 더해도 안 깨진다. 둘 다 있어야 어느 쪽이 움직여도 컴파일이 멈춘다.
|
|
40
|
-
*/
|
|
41
|
-
const _intentIsInContract = [...INTENT_OPTIONS];
|
|
42
|
-
const _contractIsInIntent = ['transport', 'process', 'dwell'];
|
|
43
|
-
void _intentIsInContract;
|
|
44
|
-
void _contractIsInIntent;
|
|
45
|
-
/**
|
|
46
|
-
* 고르는 칸의 첫 줄은 **빈 값**이다.
|
|
47
|
-
*
|
|
48
|
-
* 안 넣으면 「아직 안 정했다」를 고를 수 없어서, 칸을 한 번 건드리면 되돌릴 수 없다. 비워 둘 수
|
|
49
|
-
* 있는 칸에만 붙인다.
|
|
50
|
-
*/
|
|
51
|
-
export function withBlank(options) {
|
|
52
|
-
return ['', ...options];
|
|
53
|
-
}
|
|
54
|
-
//# sourceMappingURL=master-options.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"master-options.js","sourceRoot":"","sources":["../../../client/pages/master/master-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAGvE;;;;;;;;;;;;;;;;;GAiBG;AAEH,6CAA6C;AAC7C,MAAM,CAAC,MAAM,aAAa,GAAsB,eAAe,CAAA;AAE/D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAsB,cAAc,CAAA;AAE/D;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,CAAU,CAAA;AAExE;;;;;GAKG;AACH,MAAM,mBAAmB,GAAsB,CAAC,GAAG,cAAc,CAAC,CAAA;AAClE,MAAM,mBAAmB,GAAsC,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,CAAsB,CAAA;AAErH,KAAK,mBAAmB,CAAA;AACxB,KAAK,mBAAmB,CAAA;AAExB;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,OAA0B;IAClD,OAAO,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,CAAA;AACzB,CAAC","sourcesContent":["import { DOMAIN_SYSTEMS, EQUIPMENT_LEVEL } from '@operato/ops-contract'\nimport type { OperationIntent } from '@operato/ops-contract'\n\n/**\n * 닫힌 값 집합 — **고르는 칸의 값은 커널에서 온다.**\n *\n * ── 왜 이 파일이 있나 ──────────────────────────────────────────────────────\n * 마스터 화면의 칸이 거의 다 자유 텍스트였다. `level` 에 `WorkCel` 이라고 쳐도 아무 일도 안 나고,\n * 저장되고, 그 뒤로 그 자리는 어떤 계산에도 안 잡힌다. 값이 정해져 있는 칸은 고르게 해야 한다.\n *\n * ── 목록을 여기에 손으로 적지 않는다 ────────────────────────────────────────\n * 화면에 값을 베껴 적으면 커널이 값을 하나 늘렸을 때 화면만 옛 목록을 보인다. 그래서 **계약이\n * 실행시 상수로 내주는 것은 그대로 가져다 쓴다.**\n *\n * 계약이 **타입으로만** 주는 것이 있다. 타입은 실행시에 사라지므로 목록을 만들 수 없다. 그때만\n * 거울을 두고, **컴파일러가 그 거울을 계약에 묶는다** — 계약 쪽이 값을 더하거나 빼면 이 파일이\n * 컴파일되지 않는다. 베껴 적은 것과 다른 점이 그것이다.\n *\n * 계약이 상수를 내주면 거울을 지운다. 아키텍트에게 올려 두었다(`EQUIPMENT_LEVEL` ·\n * `DISPOSITION_DECISION` 처럼 `OPERATION_INTENT` 도 상수로).\n */\n\n/** 자리의 계층 — ISA-95 장비 계층. 계약이 실행시 상수로 준다. */\nexport const LEVEL_OPTIONS: readonly string[] = EQUIPMENT_LEVEL\n\n/**\n * 자리의 **주인 영역** — 창고 · 야드 · 공장 · 에너지(ADR-0081). 계약이 실행시 상수로 준다.\n *\n * 비워 둘 수 있다. 비면 「모름」이고, 어느 제품의 재고에도 들지 않는다 — 타입을 보고 채우는 대체값을\n * 두지 않는다(그 추론이 틀리는 날 남의 자리에 선 물건이 우리 재고가 된다).\n */\nexport const SYSTEM_OPTIONS: readonly string[] = DOMAIN_SYSTEMS\n\n/**\n * 공정의 의도 — 운반 · 가공 · 체류.\n *\n * 계약은 `OperationIntent` 를 **타입**으로만 낸다. 아래 두 줄이 이 배열을 그 타입에 묶는다.\n */\nexport const INTENT_OPTIONS = ['transport', 'process', 'dwell'] as const\n\n/*\n * **양쪽으로 묶는다.**\n *\n * 위 줄만 있으면 계약이 값을 하나 빼도 안 깨진다(우리 것이 더 넓어질 뿐이다). 아래 줄만 있으면\n * 계약이 값을 하나 더해도 안 깨진다. 둘 다 있어야 어느 쪽이 움직여도 컴파일이 멈춘다.\n */\nconst _intentIsInContract: OperationIntent[] = [...INTENT_OPTIONS]\nconst _contractIsInIntent: (typeof INTENT_OPTIONS)[number][] = ['transport', 'process', 'dwell'] as OperationIntent[]\n\nvoid _intentIsInContract\nvoid _contractIsInIntent\n\n/**\n * 고르는 칸의 첫 줄은 **빈 값**이다.\n *\n * 안 넣으면 「아직 안 정했다」를 고를 수 없어서, 칸을 한 번 건드리면 되돌릴 수 없다. 비워 둘 수\n * 있는 칸에만 붙인다.\n */\nexport function withBlank(options: readonly string[]): string[] {\n return ['', ...options]\n}\n"]}
|