Skip to content

Commit dd926f1

Browse files
committed
feat: Added ends_with helper to generator
1 parent 6462cf7 commit dd926f1

File tree

6 files changed

+42
-32
lines changed

6 files changed

+42
-32
lines changed

docs/services/alarm-clock.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ Inputs:
7878
| **Enabled** | `boolean` | Alarm enabled after creation Allowed values: `1` (= true) / `0` (= false) |
7979
| **RoomUUID** | `string` | The UUID of the speaker you want this alarm for |
8080
| **ProgramURI** | `string` | The sound uri |
81-
| **ProgramMetaData** | `string` | The sound metadata, can be empty string |
81+
| **ProgramMetaData** | `string` | The sound metadata, can be empty string Embedded XML |
8282
| **PlayMode** | `string` | Alarm play mode Allowed values: `NORMAL` / `REPEAT_ALL` / `SHUFFLE_NOREPEAT` / `SHUFFLE` |
8383
| **Volume** | `ui2` | Volume between 0 and 100 |
8484
| **IncludeLinkedZones** | `boolean` | Should grouped players also play the alarm? Allowed values: `1` (= true) / `0` (= false) |
@@ -401,7 +401,7 @@ Inputs:
401401
| **Enabled** | `boolean` | Alarm enabled after creation Allowed values: `1` (= true) / `0` (= false) |
402402
| **RoomUUID** | `string` | The UUID of the speaker you want this alarm for |
403403
| **ProgramURI** | `string` | The sound uri |
404-
| **ProgramMetaData** | `string` | The sound metadata, can be empty string |
404+
| **ProgramMetaData** | `string` | The sound metadata, can be empty string Embedded XML |
405405
| **PlayMode** | `string` | Alarm play mode Allowed values: `NORMAL` / `REPEAT_ALL` / `SHUFFLE_NOREPEAT` / `SHUFFLE` |
406406
| **Volume** | `ui2` | Volume between 0 and 100 |
407407
| **IncludeLinkedZones** | `boolean` | Should grouped players also play the alarm? Allowed values: `1` (= true) / `0` (= false) |

docs/services/av-transport.md

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -73,9 +73,9 @@ Inputs:
7373
| **UpdateID** | `ui4` | |
7474
| **NumberOfURIs** | `ui4` | |
7575
| **EnqueuedURIs** | `string` | |
76-
| **EnqueuedURIsMetaData** | `string` | |
76+
| **EnqueuedURIsMetaData** | `string` | Embedded XML |
7777
| **ContainerURI** | `string` | |
78-
| **ContainerMetaData** | `string` | |
78+
| **ContainerMetaData** | `string` | Embedded XML |
7979
| **DesiredFirstTrackNumberEnqueued** | `ui4` | |
8080
| **EnqueueAsNext** | `boolean` | Allowed values: `1` (= true) / `0` (= false) |
8181

@@ -110,7 +110,7 @@ Inputs:
110110
|:----------|:-----|:------------|
111111
| **InstanceID** | `ui4` | InstanceID should always be `0` |
112112
| **EnqueuedURI** | `string` | |
113-
| **EnqueuedURIMetaData** | `string` | |
113+
| **EnqueuedURIMetaData** | `string` | Embedded XML |
114114
| **DesiredFirstTrackNumberEnqueued** | `ui4` | use `0` to add at the end or `1` to insert at the beginning |
115115
| **EnqueueAsNext** | `boolean` | Allowed values: `1` (= true) / `0` (= false) |
116116

@@ -147,7 +147,7 @@ Inputs:
147147
| **ObjectID** | `string` | |
148148
| **UpdateID** | `ui4` | |
149149
| **EnqueuedURI** | `string` | |
150-
| **EnqueuedURIMetaData** | `string` | |
150+
| **EnqueuedURIMetaData** | `string` | Embedded XML |
151151
| **AddAtIndex** | `ui4` | |
152152

153153
Outputs:
@@ -230,7 +230,7 @@ Inputs:
230230
| **OtherMembers** | `string` | |
231231
| **TransportSettings** | `string` | |
232232
| **CurrentURI** | `string` | |
233-
| **CurrentURIMetaData** | `string` | |
233+
| **CurrentURIMetaData** | `string` | Embedded XML |
234234
| **SleepTimerState** | `string` | |
235235
| **AlarmState** | `string` | |
236236
| **StreamRestartState** | `string` | |
@@ -268,7 +268,7 @@ Inputs:
268268
| **CurrentGroupID** | `string` | |
269269
| **OtherMembers** | `string` | |
270270
| **CurrentURI** | `string` | |
271-
| **CurrentURIMetaData** | `string` | |
271+
| **CurrentURIMetaData** | `string` | Embedded XML |
272272
| **SleepTimerState** | `string` | |
273273
| **AlarmState** | `string` | |
274274
| **StreamRestartState** | `string` | |
@@ -363,7 +363,7 @@ Inputs:
363363
| **InstanceID** | `ui4` | InstanceID should always be `0` |
364364
| **Title** | `string` | |
365365
| **EnqueuedURI** | `string` | |
366-
| **EnqueuedURIMetaData** | `string` | |
366+
| **EnqueuedURIMetaData** | `string` | Embedded XML |
367367

368368
Outputs:
369369

@@ -515,9 +515,9 @@ Outputs:
515515
| **NrTracks** | `ui4` | |
516516
| **MediaDuration** | `string` | |
517517
| **CurrentURI** | `string` | |
518-
| **CurrentURIMetaData** | `string` | |
518+
| **CurrentURIMetaData** | `string` | Embedded XML |
519519
| **NextURI** | `string` | |
520-
| **NextURIMetaData** | `string` | |
520+
| **NextURIMetaData** | `string` | Embedded XML |
521521
| **PlayMedium** | `string` | Possible values: `NONE` / `NETWORK` |
522522
| **RecordMedium** | `string` | Possible values: `NONE` |
523523
| **WriteStatus** | `string` | |
@@ -546,7 +546,7 @@ Outputs:
546546
|:----------|:-----|:------------|
547547
| **Track** | `ui4` | |
548548
| **TrackDuration** | `string` | |
549-
| **TrackMetaData** | `string` | |
549+
| **TrackMetaData** | `string` | Embedded XML |
550550
| **TrackURI** | `string` | |
551551
| **RelTime** | `string` | |
552552
| **AbsTime** | `string` | |
@@ -908,7 +908,7 @@ Inputs:
908908
| **LoggedStartTime** | `string` | |
909909
| **Duration** | `string` | |
910910
| **ProgramURI** | `string` | |
911-
| **ProgramMetaData** | `string` | |
911+
| **ProgramMetaData** | `string` | Embedded XML |
912912
| **PlayMode** | `string` | Allowed values: `NORMAL` / `REPEAT_ALL` / `REPEAT_ONE` / `SHUFFLE_NOREPEAT` / `SHUFFLE` / `SHUFFLE_REPEAT_ONE` |
913913
| **Volume** | `ui2` | |
914914
| **IncludeLinkedZones** | `boolean` | Allowed values: `1` (= true) / `0` (= false) |
@@ -987,7 +987,7 @@ Inputs:
987987
|:----------|:-----|:------------|
988988
| **InstanceID** | `ui4` | InstanceID should always be `0` |
989989
| **CurrentURI** | `string` | The new TransportURI - its a special SONOS format |
990-
| **CurrentURIMetaData** | `string` | Track Metadata, see MetadataHelper.GuessTrack to guess based on track uri |
990+
| **CurrentURIMetaData** | `string` | Track Metadata, see MetadataHelper.GuessTrack to guess based on track uri Embedded XML |
991991

992992
**Remarks** If set to another player RINCON, the player is grouped with that one.
993993

@@ -1031,7 +1031,7 @@ Inputs:
10311031
|:----------|:-----|:------------|
10321032
| **InstanceID** | `ui4` | InstanceID should always be `0` |
10331033
| **NextURI** | `string` | |
1034-
| **NextURIMetaData** | `string` | |
1034+
| **NextURIMetaData** | `string` | Embedded XML |
10351035

10361036
### SetPlayMode
10371037

@@ -1096,7 +1096,7 @@ Inputs:
10961096
|:----------|:-----|:------------|
10971097
| **InstanceID** | `ui4` | InstanceID should always be `0` |
10981098
| **ProgramURI** | `string` | |
1099-
| **ProgramMetaData** | `string` | |
1099+
| **ProgramMetaData** | `string` | Embedded XML |
11001100
| **Volume** | `ui2` | |
11011101
| **IncludeLinkedZones** | `boolean` | Allowed values: `1` (= true) / `0` (= false) |
11021102
| **ResetVolumeAfter** | `boolean` | Allowed values: `1` (= true) / `0` (= false) |
@@ -1143,28 +1143,28 @@ Timeout: Second-3600
11431143
| AlarmLoggedStartTime | | `string` | |
11441144
| AlarmRunning | | `boolean` | `1` for true and `0` for false |
11451145
| AVTransportURI | | `string` | |
1146-
| AVTransportURIMetaData | | `string` | |
1146+
| AVTransportURIMetaData | | `string` | Embedded XML |
11471147
| CurrentCrossfadeMode | | `boolean` | `1` for true and `0` for false |
11481148
| CurrentMediaDuration | | `string` | |
11491149
| CurrentPlayMode | | `string` | `NORMAL` / `REPEAT_ALL` / `REPEAT_ONE` / `SHUFFLE_NOREPEAT` / `SHUFFLE` / `SHUFFLE_REPEAT_ONE` |
11501150
| CurrentRecordQualityMode | | `string` | |
11511151
| CurrentSection | | `ui4` | |
11521152
| CurrentTrack | | `ui4` | |
11531153
| CurrentTrackDuration | | `string` | |
1154-
| CurrentTrackMetaData | | `string` | |
1154+
| CurrentTrackMetaData | | `string` | Embedded XML |
11551155
| CurrentTrackURI | | `string` | |
11561156
| CurrentTransportActions | | `string` | |
11571157
| CurrentValidPlayModes | | `string` | |
11581158
| DirectControlAccountID | | `string` | |
11591159
| DirectControlClientID | | `string` | |
11601160
| DirectControlIsSuspended | | `boolean` | `1` for true and `0` for false |
11611161
| EnqueuedTransportURI | | `string` | |
1162-
| EnqueuedTransportURIMetaData | | `string` | |
1162+
| EnqueuedTransportURIMetaData | | `string` | Embedded XML |
11631163
| LastChange || `string` | |
11641164
| MuseSessions | | `string` | |
11651165
| NextAVTransportURI | | `string` | |
1166-
| NextAVTransportURIMetaData | | `string` | |
1167-
| NextTrackMetaData | | `string` | |
1166+
| NextAVTransportURIMetaData | | `string` | Embedded XML |
1167+
| NextTrackMetaData | | `string` | Embedded XML |
11681168
| NextTrackURI | | `string` | |
11691169
| NumberOfTracks | | `ui4` | |
11701170
| PlaybackStorageMedium | | `string` | `NONE` / `NETWORK` |

docs/services/queue.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -71,11 +71,11 @@ Inputs:
7171
| **QueueID** | `ui4` | |
7272
| **UpdateID** | `ui4` | |
7373
| **ContainerURI** | `string` | |
74-
| **ContainerMetaData** | `string` | |
74+
| **ContainerMetaData** | `string` | Embedded XML |
7575
| **DesiredFirstTrackNumberEnqueued** | `ui4` | |
7676
| **EnqueueAsNext** | `boolean` | Allowed values: `1` (= true) / `0` (= false) |
7777
| **NumberOfURIs** | `ui4` | |
78-
| **EnqueuedURIsAndMetaData** | `string` | |
78+
| **EnqueuedURIsAndMetaData** | `string` | Embedded XML |
7979

8080
Outputs:
8181

@@ -108,7 +108,7 @@ Inputs:
108108
| **QueueID** | `ui4` | |
109109
| **UpdateID** | `ui4` | |
110110
| **EnqueuedURI** | `string` | |
111-
| **EnqueuedURIMetaData** | `string` | |
111+
| **EnqueuedURIMetaData** | `string` | Embedded XML |
112112
| **DesiredFirstTrackNumberEnqueued** | `ui4` | |
113113
| **EnqueueAsNext** | `boolean` | Allowed values: `1` (= true) / `0` (= false) |
114114

@@ -316,11 +316,11 @@ Inputs:
316316
| **QueueID** | `ui4` | |
317317
| **UpdateID** | `ui4` | |
318318
| **ContainerURI** | `string` | |
319-
| **ContainerMetaData** | `string` | |
319+
| **ContainerMetaData** | `string` | Embedded XML |
320320
| **CurrentTrackIndex** | `ui4` | |
321321
| **NewCurrentTrackIndices** | `string` | |
322322
| **NumberOfURIs** | `ui4` | |
323-
| **EnqueuedURIsAndMetaData** | `string` | |
323+
| **EnqueuedURIsAndMetaData** | `string` | Embedded XML |
324324

325325
Outputs:
326326

docs/services/virtual-line-in.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -205,10 +205,10 @@ Timeout: Second-3600
205205

206206
| Variable | Sends events* | type | possible values |
207207
|:---------|:-------------|:-----|:----------------|
208-
| AVTransportURIMetaData | | `string` | |
209-
| CurrentTrackMetaData || `string` | |
208+
| AVTransportURIMetaData | | `string` | Embedded XML |
209+
| CurrentTrackMetaData || `string` | Embedded XML |
210210
| CurrentTransportActions | | `string` | |
211-
| EnqueuedTransportURIMetaData | | `string` | |
211+
| EnqueuedTransportURIMetaData | | `string` | Embedded XML |
212212
| LastChange || `string` | |
213213

214214
If the variable has a `` in the Sends events column, the service discovery specifies this variable emits events. Other properties might be send as a part of `LastChange`

generator/sonos-docs/src/commands/generate.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,16 @@ export default class Generate extends Command {
8383
}
8484
return null
8585
})
86+
handlebars.registerHelper('ends_with', function (input?: string, endsWith?: string) {
87+
if (arguments.length !== 3) {
88+
throw new handlebars.Exception('same requires exactly two argument')
89+
}
90+
if (endsWith === undefined) {
91+
throw new handlebars.Exception('2nd parameter has to be a string')
92+
}
93+
94+
return input?.endsWith(endsWith) == true;
95+
})
8696

8797
outputTemplate?.files.forEach(t => {
8898
if (t.usage === 'index') {

generator/sonos-docs/templates/docs/service.hbs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ Inputs:
7474
| parameter | type | description |
7575
|:----------|:-----|:------------|
7676
{{#each inputs}}
77-
| **{{name}}** | `{{relatedStateVariable.dataType}}` | {{{description}}}{{#if (are_equal relatedStateVariable.dataType 'boolean')}} Allowed values: `1` (= true) / `0` (= false) {{/if}}{{#if relatedStateVariable.allowedValues}} Allowed values: {{#each relatedStateVariable.allowedValues}}`{{this}}`{{#unless @last}} / {{/unless}}{{/each}}{{/if}} |
77+
| **{{name}}** | `{{relatedStateVariable.dataType}}` | {{{description}}}{{#if (are_equal relatedStateVariable.dataType 'boolean')}} Allowed values: `1` (= true) / `0` (= false) {{/if}}{{#if relatedStateVariable.allowedValues}} Allowed values: {{#each relatedStateVariable.allowedValues}}`{{this}}`{{#unless @last}} / {{/unless}}{{/each}}{{/if}}{{#if (ends_with name 'MetaData')}} Embedded XML{{/if}} |
7878
{{/each}}
7979
{{else}}
8080

@@ -87,7 +87,7 @@ Outputs:
8787
| parameter | type | description |
8888
|:----------|:-----|:------------|
8989
{{#each outputs}}
90-
| **{{name}}** | `{{relatedStateVariable.dataType}}` | {{{description}}}{{#if (are_equal relatedStateVariable.dataType 'boolean')}} `1` for true and `0` for false {{/if}}{{#if relatedStateVariable.allowedValues}} Possible values: {{#each relatedStateVariable.allowedValues}}`{{this}}`{{#unless @last}} / {{/unless}}{{/each}}{{/if}} |
90+
| **{{name}}** | `{{relatedStateVariable.dataType}}` | {{{description}}}{{#if (are_equal relatedStateVariable.dataType 'boolean')}} `1` for true and `0` for false {{/if}}{{#if relatedStateVariable.allowedValues}} Possible values: {{#each relatedStateVariable.allowedValues}}`{{this}}`{{#unless @last}} / {{/unless}}{{/each}}{{/if}}{{#if (ends_with name 'MetaData')}} Embedded XML{{/if}} |
9191
{{/each}}
9292
{{/if}}
9393
{{#if remarks}}
@@ -116,7 +116,7 @@ Timeout: Second-3600
116116
| Variable | Sends events* | type | possible values |
117117
|:---------|:-------------|:-----|:----------------|
118118
{{#each eventVariables}}
119-
| {{name}} | {{#if sendEvents}}{{/if}} | `{{dataType}}` | {{#if (are_equal dataType 'boolean')}} `1` for true and `0` for false {{/if}}{{#each allowedValues}}`{{this}}`{{#unless @last}} / {{/unless}}{{/each}} |
119+
| {{name}} | {{#if sendEvents}}{{/if}} | `{{dataType}}` | {{#if (are_equal dataType 'boolean')}} `1` for true and `0` for false {{/if}}{{#each allowedValues}}`{{this}}`{{#unless @last}} / {{/unless}}{{/each}}{{#if (ends_with name 'MetaData')}} Embedded XML{{/if}} |
120120
{{/each}}
121121

122122
If the variable has a `✔` in the Sends events column, the service discovery specifies this variable emits events. Other properties might be send as a part of `LastChange`

0 commit comments

Comments
 (0)