Skip to content

Commit

Permalink
successfully handles dates when converting JSON object to PHP array. (#…
Browse files Browse the repository at this point in the history
…40)

* Co-Authored-By: @johnblackspear 
* Co-Authored-By: @ryanennns
* Co-Authored-By: @WhoIsCalebBrown
* Co-Authored-By: @dlutz494
* Co-Authored-By: @armandkaufmann
  • Loading branch information
JStruk committed Apr 10, 2024
1 parent e654e9c commit 321d39b
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 1 deletion.
2 changes: 1 addition & 1 deletion src/utilities/JSONToPHPArray.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@ export function JSONToPHPArray(json: string): {} {
return json
.replace(/\{/g, '[')
.replace(/}/g, ']')
.replace(/:/g, '=>')
.replace(/"\s*:\s*/g, '" => ')
}
27 changes: 27 additions & 0 deletions tests/utilities/JSONToPHPArray.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,31 @@ describe('JSONToPHPArray', () => {

expect(JSONToPHPArray(json)).toEqual(result)
})

const providesJsonDates = [
[
'{"registered" : "2019-03-26T09:34:48 +04:00", "skrunky" : "2020-09-30T07:09:05 +04:00"}',
'["registered" => "2019-03-26T09:34:48 +04:00", "skrunky" => "2020-09-30T07:09:05 +04:00"]'
],
[
'{"registered":"2019-03-26T09:34:48 +04:00","skrunky":"2020-09-30T07:09:05+04:00"}',
'["registered" => "2019-03-26T09:34:48 +04:00","skrunky" => "2020-09-30T07:09:05+04:00"]'
],
[
'{"registered": "2019-03-26T09:34:48 +04:00", "skrunky": "2020-09-30T07:09:05 +04:00"}',
'["registered" => "2019-03-26T09:34:48 +04:00", "skrunky" => "2020-09-30T07:09:05 +04:00"]'
],
[
'{"registered" :"2019-03-26T09:34:48 +04:00", "skrunky" :"2020-09-30T07:09:05 +04:00"}',
'["registered" => "2019-03-26T09:34:48 +04:00", "skrunky" => "2020-09-30T07:09:05 +04:00"]'
],
[
'{"registered" : "2019-03-26T09:34:48 +04:00", "skrunky" : "2020-09-30T07" : "09:05 +04:00"}',
'["registered" => "2019-03-26T09:34:48 +04:00", "skrunky" => "2020-09-30T07" => "09:05 +04:00"]'
],
]

it.each(providesJsonDates)('should convert JSON object to PHP array that has dates in it', function (json: string, expected: string) {
expect(JSONToPHPArray(json)).toEqual(expected)
})
})

0 comments on commit 321d39b

Please sign in to comment.