{"_id":"@capealoesa/camsapi","_rev":"29-10a31bb279ad7aea8a7a0b22ed488f9d","name":"@capealoesa/camsapi","dist-tags":{"latest":"0.5.6"},"versions":{"0.4.0":{"name":"@capealoesa/camsapi","version":"0.4.0","description":"Cape Aloe Management System API","main":"dist/index.js","typings":"dist/index","scripts":{"build":"tsc","test":"jest --forceExit --runInBand --verbose"},"jest":{"globals":{"ts-jest":{"tsConfigFile":"tsconfig.json"}},"moduleFileExtensions":["ts","js","json"],"transform":{"^.+\\.(ts|tsx)$":"./node_modules/ts-jest/preprocessor.js"},"testMatch":["**/test/**/*.test.(ts|js)"],"testEnvironment":"node","testPathIgnorePatterns":["<rootDir>/node_modules/","<rootDir>/test/helpers/"]},"repository":{"type":"git","url":"https://source.developers.google.com/p/camsserver-ts/r/camsapi"},"author":{"name":"Tertius Cloete"},"license":"ISC","dependencies":{"@types/uuid":"^3.4.3","moment":"^2.22.0"},"devDependencies":{"@types/jest":"^22.2.3","@types/node":"^9.6.40","jest":"^22.4.4","ts-jest":"^23.10.5","typescript":"^2.9.2"},"gitHead":"38066d4b8f7fb53704ba584deab7c2a03f3ed095","_id":"@capealoesa/camsapi@0.4.0","_npmVersion":"6.5.0","_nodeVersion":"10.7.0","_npmUser":{"name":"tertiusfcloete","email":"tfcloete@gmail.com"},"dist":{"integrity":"sha512-+tlXBUQuYfPsXai9vQZ0Tx1aPp6A5rPLYclH16NLpDKLZbZkz1U0Z8o/f/NKftjCA2F9xayL0mRMVKhheoAMmw==","shasum":"9069df99b63703b4f27ddb488e2ef7480b8b1a75","tarball":"https://registry.npmjs.org/@capealoesa/camsapi/-/camsapi-0.4.0.tgz","fileCount":51,"unpackedSize":37590,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcFRHhCRA9TVsSAnZWagAAQ2AP/iyWV9LBsR+e3vdz/nAc\n6uKUqdm2bYnktb/OF00VLe10ukyVoLoxqzeEbezgrkBowSeyKJX0rv4yPou3\no1Db4JlId+r3NBIQT1aVJChwrs2qIJwdroKealzUzDcKXpSjBnVpOzth/+Yq\n82yiASh6Dv07vvnMdAnBEhKPZmBLIQpz1G/gC59dcb/pkQJCX+cbHng/11aA\nz4YEgdtYUV/HHOAhfk+tOesS7w6gn2aroUqIpCtlxJexXcCjRww+t6Jk1Ee4\n379mE36Rj1b1LAFwcC+galBADQR4WQDENtFLZo9LvukjqDbxi8SB9ZVi6Yjb\nKSZNd3jBC/aplg+WlQMutF4r1Sl1lYT69Vd24D/T3H2FtF4CydEphQ4D7Onw\n/Ad+nKhG/YFxCLHyV7Nq5HNMhfWR8vlHlyFRfqIBfu9xhKkpJVkhrpCERH2S\n20tZcAZyjMVXNRHB1zMNEmlNmIhoJz44csoHD5tWBGJrgdB3OG1zMllIC5qI\ntFxzI3HWVriljFz8zBG+YWaSRUwOFB5BYJIA+rBpXV37slYTdjfKSoz0QvuE\nJODDEdsK4w/ivOf1lgjQHW2vTQlxBQH3074Aj9yV7fYRFrunUCZmnLelFw9P\nRpyIpnXzwZjFXjzqr7/+PuqVUnn+cXXXhZ8l0pD040c5jnBBMKpDds9Zo/fq\neiJ0\r\n=YJre\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB41w6bui7b4zeVgGlhpjmZbpBRKaMIW7jHzXKhSIA4+AiA9M/kJriLI8C7qBKlbvkhvGSwWGDeLczL4ZW9RfVABPQ=="}]},"maintainers":[{"name":"andrewhcloete","email":"andrewhcloete@gmail.com"},{"name":"tertiusfcloete","email":"tfcloete@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/camsapi_0.4.0_1544884704879_0.2959800747171766"},"_hasShrinkwrap":false,"deprecated":"Newer version released."},"0.4.1":{"name":"@capealoesa/camsapi","version":"0.4.1","description":"Cape Aloe Management System API","main":"dist/index.js","typings":"dist/index","scripts":{"build":"tsc","test":"jest --forceExit --runInBand --verbose"},"jest":{"globals":{"ts-jest":{"tsConfigFile":"tsconfig.json"}},"moduleFileExtensions":["ts","js","json"],"transform":{"^.+\\.(ts|tsx)$":"./node_modules/ts-jest/preprocessor.js"},"testMatch":["**/test/**/*.test.(ts|js)"],"testEnvironment":"node","testPathIgnorePatterns":["<rootDir>/node_modules/","<rootDir>/test/helpers/"]},"repository":{"type":"git","url":"https://source.developers.google.com/p/camsserver-ts/r/camsapi"},"author":{"name":"Tertius Cloete"},"license":"ISC","dependencies":{"@types/uuid":"^3.4.3","moment":"^2.22.0"},"devDependencies":{"@types/jest":"^22.2.3","@types/node":"^9.6.40","jest":"^22.4.4","ts-jest":"^23.10.5","typescript":"^2.9.2"},"gitHead":"f14e6b30792b0fe9005c44cba0e9d4dccc618afe","_id":"@capealoesa/camsapi@0.4.1","_npmVersion":"6.5.0","_nodeVersion":"10.7.0","_npmUser":{"name":"tertiusfcloete","email":"tfcloete@gmail.com"},"dist":{"integrity":"sha512-jXgCAanWFM2nUMHZm+gJLdeGGKD6s5N4RfDTbBWdRqwt8MHanHITGOoGH56cX1zX5bFyHABrHY4Q5I7uNHiz3Q==","shasum":"afd283cb98af40daa4b57f32368571d2e79c4605","tarball":"https://registry.npmjs.org/@capealoesa/camsapi/-/camsapi-0.4.1.tgz","fileCount":48,"unpackedSize":38234,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcFg0oCRA9TVsSAnZWagAA00wP+gMnVXx/qV0OEN9P/Hgv\nMIWAmPhRU15I10C8g9QT+0g6aum8MxGGcHSPbm1St55+fuS58dD3MSj+AFE0\nk5zgEQeH2c34kh/4FHelwu4UKTzPvm3hn3qDHYMLkGzWNlZiHDHuzJeIOy5O\nD/P5EJpT9ZJuJSgeflKWUr1lTbF8YOlyVxDRYXI66eI5V8loN4v4MIOZl5Q9\nLkXqFlVpOYDCctPaHwASYX72lH5N+Kb0a0qIX5Zym/5SZvTZdDtPmzzMsSiE\n0NEHF7QTfZZg4laDIsVTQ/ikw4U9azTvvJT+lZHnU4oqUUKMUiyCMnBbmy/q\nH6gtK2VqnKvywQJo4vIFde/BjvFIrNkSWZF6GVFxKtS4KjB0fVR5gCUFIU8Z\nmMaWabTddqf3QqngNL9PkV1yISF2N5SbQW+CigqusUUj5JFRNjpvOTTRJcqz\nHeGHdysOvtBLpx0NO1tQOs4iCpV1wmlF+zdbFPeoo+lMoKwmvmQQIBbH2Uyx\nf4z2KcB0FKLY0szCal+EYVgfC4rzsk8DvVdNOpVVCo7e+cBMpr/Ax+DzPWEp\nIGdHRelC9VfS9sBmvlYiMFYaKpKBrtDRApvW4B49rt7Vb41LuN1q5CKNA1pS\n0luxzObUxxxzJIJWHzmEDQFSBy1KNdWTu77mfBA3cLohF3ynyn9pE33VM1Zn\nE7YW\r\n=7L7G\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDjBt8bq3+Xuq7bo9uYwUTpyR4wrnvw2dzxoqG7wcWZ2AiBP4SP+d8KnUtbrxbE/+ToJ3U7/EKZ6g6LqsGEzBLb0jQ=="}]},"maintainers":[{"name":"andrewhcloete","email":"andrewhcloete@gmail.com"},{"name":"tertiusfcloete","email":"tfcloete@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/camsapi_0.4.1_1544949032143_0.5782115412111979"},"_hasShrinkwrap":false,"deprecated":"Newer version released."},"0.4.2":{"name":"@capealoesa/camsapi","version":"0.4.2","description":"Cape Aloe Management System API","main":"dist/index.js","typings":"dist/index","scripts":{"build":"tsc","test":"jest --forceExit --runInBand --verbose"},"jest":{"globals":{"ts-jest":{"tsConfigFile":"tsconfig.json"}},"moduleFileExtensions":["ts","js","json"],"transform":{"^.+\\.(ts|tsx)$":"./node_modules/ts-jest/preprocessor.js"},"testMatch":["**/test/**/*.test.(ts|js)"],"testEnvironment":"node","testPathIgnorePatterns":["<rootDir>/node_modules/","<rootDir>/test/helpers/"]},"repository":{"type":"git","url":"https://source.developers.google.com/p/camsserver-ts/r/camsapi"},"author":{"name":"Tertius Cloete"},"license":"ISC","dependencies":{"@types/uuid":"^3.4.3","moment":"^2.22.0"},"devDependencies":{"@types/jest":"^22.2.3","@types/node":"^9.6.40","jest":"^22.4.4","ts-jest":"^23.10.5","typescript":"^2.9.2"},"gitHead":"433f21431c9b74c74d496a468196bfb7610b3f70","_id":"@capealoesa/camsapi@0.4.2","_npmVersion":"6.5.0","_nodeVersion":"10.7.0","_npmUser":{"name":"tertiusfcloete","email":"tfcloete@gmail.com"},"dist":{"integrity":"sha512-HfE2DP1E/AsVFh9icSv67WPa+5mQdcLS+LSNkmPgKdqWSmaX7ufXL6eesIrU2wbiXvnUAJYwKqA3VEKdtPT0jA==","shasum":"ac80f13100809ffbc98452f6ce1ffc351b765b8d","tarball":"https://registry.npmjs.org/@capealoesa/camsapi/-/camsapi-0.4.2.tgz","fileCount":48,"unpackedSize":38275,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcF2hFCRA9TVsSAnZWagAAieIP/jD/csD5xAWSY6EZiSPZ\nQMSMfJYmfJK2KOjzViS4v7gglidtI0BYdc78fSr3O9iyyWlnv4EKafPhnUOZ\nKKMRVCg4Ff456vA9jyewoTPHal6VwwRxVTqEiVcaiiOLYFaNpMdpAcri4pcz\nvFQFazWmhYu8PtY2TQX84N1i2hBfYODWoDmhdiwW/0O9X3GpR99+y93+NQtq\n9Opmzl+8VGv6pdWyzvXQCEA0QFMX14TVpbT0wxHQNV5kQv2vtCN/6/lq4X7E\n09Rkqzpcq8PTIqGJv+y1SRyv7VKUyYHlnqg6j5s6IsdoJ/DGM8YCLddNZVJz\nrMETo8clukAJFXlaFC6zQY1vwEL7W8exsRaDT5x3dlj80lNngYTABtByxoZ6\nF4rJg0XwNWKBZMIzdrry3ijwTWtgr1YospgFF3BF+yz3mXNFTx/xGRcfNa0M\nYAORGAwlh6X7Y/GxOBs6W4v0+0jCH9o+wyzTtiCNyKN6HKPHM0nkJ8RgkR41\n77Jlvop7YYa84xUx7ujwbT60Vyyn2Sx/tiFvrQo+/Nqem7V8uhuKJusM/Fvl\n+tiO6jW2jmtvSR8yK2CEvxdUjZZG8cdm6u/AQmtVVolyRWMOUcMNOT0j4NEx\nrp9Rtwvd0cxzlxNWMvNh5Yrxx72Tk3Le5zlNwgMGVRvKqjq0y+zT23FrLYwV\nicjs\r\n=HmN+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB08Vp7gag0qxUW5qgi5LQukg54nzLMWb8uZNphFY1LAAiBb0TO/0fYVlQsD+ByTMohpfo96xN+8+wMoOwQItxil4g=="}]},"maintainers":[{"name":"andrewhcloete","email":"andrewhcloete@gmail.com"},{"name":"tertiusfcloete","email":"tfcloete@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/camsapi_0.4.2_1545037892038_0.5710678365101436"},"_hasShrinkwrap":false,"deprecated":"Newer version released."},"0.4.3":{"name":"@capealoesa/camsapi","version":"0.4.3","description":"Cape Aloe Management System API","main":"dist/index.js","typings":"dist/index","scripts":{"build":"tsc","test":"jest --forceExit --runInBand --verbose"},"jest":{"globals":{"ts-jest":{"tsConfigFile":"tsconfig.json"}},"moduleFileExtensions":["ts","js","json"],"transform":{"^.+\\.(ts|tsx)$":"./node_modules/ts-jest/preprocessor.js"},"testMatch":["**/test/**/*.test.(ts|js)"],"testEnvironment":"node","testPathIgnorePatterns":["<rootDir>/node_modules/","<rootDir>/test/helpers/"]},"repository":{"type":"git","url":"https://source.developers.google.com/p/camsserver-ts/r/camsapi"},"author":{"name":"Tertius Cloete"},"license":"ISC","dependencies":{"@types/uuid":"^3.4.3","moment":"^2.22.0"},"devDependencies":{"@types/jest":"^22.2.3","@types/node":"^9.6.40","jest":"^22.4.4","ts-jest":"^23.10.5","typescript":"^2.9.2"},"gitHead":"359245c37f242823a57aebef3e27bcd141b9d1de","_id":"@capealoesa/camsapi@0.4.3","_npmVersion":"6.5.0","_nodeVersion":"10.7.0","_npmUser":{"name":"tertiusfcloete","email":"tfcloete@gmail.com"},"dist":{"integrity":"sha512-DPSImP6K7u4XcvCCnZS0m0e8jDewaCBst1oxBGTl4bTdkhYd4UMYBjvCoEmSLY8VR4r6MyunFsU3G0/cO3wmEw==","shasum":"0a039cbf9d15c698562946e6471c7580ad9c1368","tarball":"https://registry.npmjs.org/@capealoesa/camsapi/-/camsapi-0.4.3.tgz","fileCount":48,"unpackedSize":38326,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcF285CRA9TVsSAnZWagAAsK8P/juY6nt76CpbLkxTIUly\nfLbYfecUbnL5SLQPK9sBCks+HOd6cgEn4Fv0x7AFqiAo1j6vZL5MZtr7Yt43\nEhLYD+H9EaLCXaP9iKiG5huvHkQs3kqwiqapznX2G6Gj8QhGHmPc3iS0PRtb\n4zEU82usRdMJipxik/Qsp74K5Khu25R0H9Lj5oTPcLIaykMvOJRUwFdtnQo/\ngTTtQATqhH51MPMWKjvQy+S7Yh/EEpxHhQh2t0cYJ82HQ/EAtFeExlbacc7w\nd+Yf7qwP5nNBNsTpvaPSK9czG9cBTJ9x1hHAyI9300uMmshv7uK391jFXNM9\nMfItOZtEc6VOT71CWwxVgBYWCqbjSc5gJs1xSnQ9vWe79RhyD3NVXZ+UUmh6\nxJ13iT0scyS9YzZ+eqCEc3mAzV6i7SADSOxgrmDvSuCmsh7aEy9NSuzfbxEF\nyuLV+wR/XGmZA+N0z7YbfSS6peKlj7b21ILkl4tvj2oKGSfKWXW0bDjdTDz7\n1hV2ioctd94B28gtZLa+PQynyORf21o2f9MYTMmue0dWmgOmPYV5wGumQmDY\n8gELwk5hlL6Sqiqf1mLXJoD+clWajEPHnABDaL/xUFNy50gF/hKRFOh41iv8\nkZIAUNmhmeJmo1vF+/9CRJKBaaJ9YZxQwZW84148WHL2q390n5CVQ0SIC7VQ\nV/fO\r\n=Asag\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAeXFSzzN2RzivzWlCd24nM5wNArgRWy+F5g2wIduQjdAiAQV14BGIVA1pGMKbIzvi52mCcOzTLia7pxiV6w9pQ80w=="}]},"maintainers":[{"name":"andrewhcloete","email":"andrewhcloete@gmail.com"},{"name":"tertiusfcloete","email":"tfcloete@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/camsapi_0.4.3_1545039672567_0.19393160634439544"},"_hasShrinkwrap":false,"deprecated":"Newer version released."},"0.4.4":{"name":"@capealoesa/camsapi","version":"0.4.4","description":"Cape Aloe Management System API","main":"dist/index.js","typings":"dist/index","scripts":{"build":"tsc","test":"jest --forceExit --runInBand --verbose"},"jest":{"globals":{"ts-jest":{"tsConfigFile":"tsconfig.json"}},"moduleFileExtensions":["ts","js","json"],"transform":{"^.+\\.(ts|tsx)$":"./node_modules/ts-jest/preprocessor.js"},"testMatch":["**/test/**/*.test.(ts|js)"],"testEnvironment":"node","testPathIgnorePatterns":["<rootDir>/node_modules/","<rootDir>/test/helpers/"]},"repository":{"type":"git","url":"https://source.developers.google.com/p/camsserver-ts/r/camsapi"},"author":{"name":"Tertius Cloete"},"license":"ISC","dependencies":{"@types/uuid":"^3.4.3","moment":"^2.22.0"},"devDependencies":{"@types/jest":"^22.2.3","@types/node":"^9.6.40","jest":"^22.4.4","ts-jest":"^23.10.5","typescript":"^2.9.2"},"gitHead":"4e63df719f5a49877769077fafe45fc365ad45fb","_id":"@capealoesa/camsapi@0.4.4","_npmVersion":"6.5.0","_nodeVersion":"10.7.0","_npmUser":{"name":"tertiusfcloete","email":"tfcloete@gmail.com"},"dist":{"integrity":"sha512-mYJAK928VHwc1RkIGF730zE1bvioxaLpD5tuiGMT2ki8YPklZl6TVojsLithSHC8Tuse8ZUrhAMMR7bCykNPiA==","shasum":"e1f085d784dc12ffe9005c4858c52d09d9c30d2c","tarball":"https://registry.npmjs.org/@capealoesa/camsapi/-/camsapi-0.4.4.tgz","fileCount":48,"unpackedSize":38196,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcF4YUCRA9TVsSAnZWagAASeAQAIzEr5R/9EX84h7vVvW/\nYI4rCF0pv16kyclE3vLwJqDqiERmunhBj2Qy8mRUp76vkAoarMObR3aI3GhU\nZOBlMgeZjs5kjPjTp6KE0DJxgDYBo2jJEN9hg7jZ3qSaKml8H5CW9zQkajRR\nS6hSsxcScOvtgix6ptL4K+vlqX1ePOeuBGQivxH6p2lBp5+3HLVQJcNwLD/W\n6WAJUsepX9J/EOZC9eLAst/JKrnrWbkU7B6xCdYFMghIzWddRFqGwIC1Y+Fn\n5+MnNMLnK7B8NsVSTfeLQPfswri8B6yWyYgELCH3HlI8ZFNzYlhYi57A6RtU\nQiwvLQrdYwDJc8/0c1ywi40qyPiZsgRqx+UDzaSrHyhFwgB22qN4KJOp0Pn9\nL7mKJSQdDSv26k4dGaT2bsBMzOu9NiZV8FsKsmN89raKLaZJr2ORYgQqYVbx\nupjtWkH5qZ5NVit279bsthE5gwb03IESh9EdCsTef16CbjaqjVW3vPB890h8\nG0W913UsM+0Fhbr+wPzzb0wHaEKvrqNhZvKwKo6BV/4a8vEPueZPE+AgHue0\nsACO7C4SOoPblP85NY02k+oQWKlH5cLeTAqSGttS2SKWgWia0VjkziQBoAOk\nLqzRJ60JG7UsMVR6ZtOaSl5vtaxLHcRsKJ6d/GROmE11sKQtsS4oqT5Xq+Q8\nzjGM\r\n=3X4O\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC36HocrYKWeeIMFCdIuKiSsLenDPcZZnfg0MZaaFf+bQIgQbXDE1wv9N6oHyaOYfRSqGb3W9mb11QFlqhfTx7wgjk="}]},"maintainers":[{"name":"andrewhcloete","email":"andrewhcloete@gmail.com"},{"name":"tertiusfcloete","email":"tfcloete@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/camsapi_0.4.4_1545045523296_0.3873626554936531"},"_hasShrinkwrap":false,"deprecated":"Newer version released."},"0.4.5":{"name":"@capealoesa/camsapi","version":"0.4.5","description":"Cape Aloe Management System API","main":"dist/index.js","typings":"dist/index","scripts":{"build":"tsc","test":"jest --forceExit --runInBand --verbose"},"jest":{"globals":{"ts-jest":{"tsConfigFile":"tsconfig.json"}},"moduleFileExtensions":["ts","js","json"],"transform":{"^.+\\.(ts|tsx)$":"./node_modules/ts-jest/preprocessor.js"},"testMatch":["**/test/**/*.test.(ts|js)"],"testEnvironment":"node","testPathIgnorePatterns":["<rootDir>/node_modules/","<rootDir>/test/helpers/"]},"repository":{"type":"git","url":"https://source.developers.google.com/p/camsserver-ts/r/camsapi"},"author":{"name":"Tertius Cloete"},"license":"ISC","dependencies":{"@types/uuid":"^3.4.3","moment":"^2.22.0"},"devDependencies":{"@types/jest":"^22.2.3","@types/node":"^9.6.40","jest":"^22.4.4","ts-jest":"^23.10.5","typescript":"^2.9.2"},"gitHead":"a818ffb243c676e6024f5c5e44698375d54d6195","_id":"@capealoesa/camsapi@0.4.5","_npmVersion":"6.5.0","_nodeVersion":"10.7.0","_npmUser":{"name":"tertiusfcloete","email":"tfcloete@gmail.com"},"dist":{"integrity":"sha512-PMneRHRpheq9eZkrhSmVeuKfWhrl9sW0wOvNAdtSoptEf3CVEwXTNmmpr30wJYruBJzXSdV/JlEq+4/LlueLew==","shasum":"c993e0008210cd0dde66377d4ca47d06464a2858","tarball":"https://registry.npmjs.org/@capealoesa/camsapi/-/camsapi-0.4.5.tgz","fileCount":48,"unpackedSize":38750,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcLb3ACRA9TVsSAnZWagAAiPoP/Ah+wkyvGS1bBDXWSEMS\nmPeUW6+hOZvZMEsPWwMivP4Mla9g2K8ImxyHx0W3YkmFeQgQyYViN0uNsOwM\nRiuYTlF6El48JYIjyebjsRcgV2aD5JG6Gl5Tj/mAZ0s0lDCZBPjWN6FliNSI\ndD9H8YXXMLVb4k24Ef7C/mRy30qv1UdN/ZlUddS6cx72YLzOfLNwdR/sBVpB\nN9I+XmcnlguFPrk5C3/6bKQN8/PVpaU2RE+/Ug0Bhk+qEAi2Ow4tosL3MpdY\nRhEqgMY67g4yn+J4KA5e3b13QHkOoVHSeWx9jsuOS8pPjV9NbzunkH1NU8sR\nDitZpkQPbPSvcVtti6icf4Acpsm5RGwkHmVtQ23HdTrvBKyIkUBgFo0VVP9X\nh7/Cn2y6FSkXRXX70kYuqrcHLLT6Aa8iZMxsyRTrFashmo1JvbrL9jfarRMn\nhW471uTYHMTF3Rig5Y7Hzv4wUEIQ73jaev/sG/lLn8WlCfJlfqkeu7HUl83W\noD8SkIkAT1+9miOSHJkMm2ruKOlrY3T1gWu0Ncf8CcRgJUff5AAIYBpXZ6Ln\n2ZZlL5Oik3bPFsP8AMM1uEInVBemmVaKcreC8X7ZYYDdgiak8AFlOzx3qsnA\nFATZg12te09jgjk15cgwtM73ckW00UcsPbQJv9nac+iBkWKHHeZP4heuHy8r\nQ+8+\r\n=Ixqt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDgWlv/PwGxvdBdhwOxVSxCQRGrGaZSjY2QDnlSM67DqgIgaRg4buAbWUxU+EI60nLfpKdvPE5D43HDuDGvPJUDKTE="}]},"maintainers":[{"name":"andrewhcloete","email":"andrewhcloete@gmail.com"},{"name":"tertiusfcloete","email":"tfcloete@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/camsapi_0.4.5_1546501567699_0.6989006083952987"},"_hasShrinkwrap":false,"deprecated":"Newer version released."},"0.4.6":{"name":"@capealoesa/camsapi","version":"0.4.6","description":"Cape Aloe Management System API","main":"dist/index.js","typings":"dist/index","scripts":{"build":"tsc","test":"jest --forceExit --runInBand --verbose"},"jest":{"globals":{"ts-jest":{"tsConfigFile":"tsconfig.json"}},"moduleFileExtensions":["ts","js","json"],"transform":{"^.+\\.(ts|tsx)$":"./node_modules/ts-jest/preprocessor.js"},"testMatch":["**/test/**/*.test.(ts|js)"],"testEnvironment":"node","testPathIgnorePatterns":["<rootDir>/node_modules/","<rootDir>/test/helpers/"]},"repository":{"type":"git","url":"https://source.developers.google.com/p/camsserver-ts/r/camsapi"},"author":{"name":"Tertius Cloete"},"license":"ISC","dependencies":{"@types/uuid":"^3.4.3","moment":"^2.22.0"},"devDependencies":{"@types/jest":"^22.2.3","@types/node":"^9.6.40","jest":"^22.4.4","ts-jest":"^23.10.5","typescript":"^2.9.2"},"gitHead":"8649e22204cda796ef910d4a53b97b2303a409b5","_id":"@capealoesa/camsapi@0.4.6","_npmVersion":"6.5.0","_nodeVersion":"10.7.0","_npmUser":{"name":"tertiusfcloete","email":"tfcloete@gmail.com"},"dist":{"integrity":"sha512-TwBybEMaSRg6CQPe2TJiAoaU0nZhii4TrZ6uEHMlQadHGmCEsnNMoFmNa9ixZ/2a2Ti6iJJfe8aITaO26kLQaw==","shasum":"4abd59c4df3b2262d8f9239eb7e14fc36b963f07","tarball":"https://registry.npmjs.org/@capealoesa/camsapi/-/camsapi-0.4.6.tgz","fileCount":48,"unpackedSize":39069,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcNiWqCRA9TVsSAnZWagAAX10QAJqekQyxMUlER0J6ZXnY\nbj2kN5Pkpjj1IToItjamdHoRBkpaWydibRvd/K0JJUp9wM1W9nrH6ljeY10P\noi43wSL00pqjsIJYYhYxKHowCL+yLObeT8q2yVlyjkMRHn5QdMga7QvRw3iB\nnw9bxSpar2FfbQJkpi7JsRGMg9BBY+Cp+uXuSu0lxwaVO7E4o4CfWilMOQHH\nc/pJvPSyxNnD2A+/Ko5fZOm2JnF7JquWYuY6Gko14UuNi/SbF86EObgAaQ0U\n9GK/MgnVFlitGx0/+srrO+dWpviX8Hw6A5vFDlyKJOBWETr2ghX0HPqFCQns\nkaEcayohaPWNm7ESbdPJ8wUVufasMryr+RtK+UGKglRKp/8bxRpXDnVsgO17\nX1Xv6bv6s1eN14duZO1+71arAel0C7gbd+Z8cKF2SmV5SUlixb9dEwBU3Lty\nPBP5WcGQYryEeblAthuQAIcxpYh4jqXCXKb26wBh36RpMLjWkJEt2KrgytLL\n14tqxx39mfaQAuiwOGPA0CMJL0OuaPrc36ATdcz6s0aC20RSdCYnBC46bh2r\nCKAxuKuleB/xNxLdTY18Xm2BX/XP3IC88sIzlITQMJBuFrYjFy3dB+QsbDK1\niNxNEGp++tDhnRhoBueRpXfAxEMIec0s7A7NxzI8E1dpkgyyDIhrOl5iUHrI\nC7Kx\r\n=qd/N\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDiXUM4i5nQK3x6rLV5eGJVceh14F4rhqYE1h1/jDrfGQIgBugZ1rKG1esI+OV32SB5s7LYyBm3G9yCs00N6fqY8H4="}]},"maintainers":[{"name":"andrewhcloete","email":"andrewhcloete@gmail.com"},{"name":"tertiusfcloete","email":"tfcloete@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/camsapi_0.4.6_1547052456403_0.596106304674149"},"_hasShrinkwrap":false,"deprecated":"Newer version released."},"0.4.7":{"name":"@capealoesa/camsapi","version":"0.4.7","description":"Cape Aloe Management System API","main":"dist/index.js","typings":"dist/index","scripts":{"build":"tsc","test":"jest --forceExit --runInBand --verbose"},"jest":{"globals":{"ts-jest":{"tsConfigFile":"tsconfig.json"}},"moduleFileExtensions":["ts","js","json"],"transform":{"^.+\\.(ts|tsx)$":"./node_modules/ts-jest/preprocessor.js"},"testMatch":["**/test/**/*.test.(ts|js)"],"testEnvironment":"node","testPathIgnorePatterns":["<rootDir>/node_modules/","<rootDir>/test/helpers/"]},"repository":{"type":"git","url":"https://source.developers.google.com/p/camsserver-ts/r/camsapi"},"author":{"name":"Tertius Cloete"},"license":"ISC","dependencies":{"@types/uuid":"^3.4.3","moment":"^2.22.0"},"devDependencies":{"@types/jest":"^22.2.3","@types/node":"^9.6.40","jest":"^22.4.4","ts-jest":"^23.10.5","typescript":"^2.9.2"},"gitHead":"d1fe53b3a6dcd4fefa0f9251e707826a725ce790","_id":"@capealoesa/camsapi@0.4.7","_npmVersion":"6.5.0","_nodeVersion":"10.7.0","_npmUser":{"name":"tertiusfcloete","email":"tfcloete@gmail.com"},"dist":{"integrity":"sha512-E7/BS4UFd7PsgMxVtdZv6XtOFs8aEPsTfJnXW9GerJp0dbECJ5pU7DTvWlfQHpygP+KyqlF70dZPFy5+UuYOiA==","shasum":"583b2ca2e9c72fa4373c05f09d7061b110c90404","tarball":"https://registry.npmjs.org/@capealoesa/camsapi/-/camsapi-0.4.7.tgz","fileCount":48,"unpackedSize":39161,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcNjoECRA9TVsSAnZWagAABKgP/i9IK/gY/beLMwfgdtM5\nmzmm1Mmx05IYtDue97wrLJ+As61IzmOtnXTqhnNIM3UakVb66Dip3/eQSy+9\nAJMhQFQeqVgXPQFHTfXM1Xexp1NQtDW3/F4K1jxE+c3YAYxu0Qxnu+Yn8imR\nLe5SIWGvCnTs14Zu2Q6k/F9a+wiuMdV6xWc7opOjfxIHK5w/Z5F+2jf9JsJ3\nXy/GqXnjsRc/NS++AROcnoPqcP6YxNy1AWz6BrhV7zd2GU0B79CAKh6LnfTR\nWWeQsKx0xBR8KT1yIjCqtrRtDQV0+hjmvTzvhyz0l6VMKayTE1zbWM0zEmjx\nTjbwXJM/P/D76GkpH5YoytkINbrHJf/S7kf2muhpvwckfscBcy/Nga6WJ5lI\nrnUC6gXNpk9Hw95DCPsB5B4tVi40Cjp/lCRoQ6QMPMd3QvgzjFF56KGOWcPR\no8/c+r0s1gPcf94pMudcke33Vf0jbsTgOvY/eUNjUkCbLyyUBI5FoI372PrG\nLx+qEQbbqjH058mVDlSi7O/T/Ee6XmW81DHtQHdwM7/WLHwfQos8YlLBwQgu\nvi+PuNHDhRvNLJst2T20wzCkeoXmBftkH068kROVvB4pUYMNVXM1TALw3FNG\nxXpfKQQmM7OmzTRQnftyJ0gfj+SqX9syshcmA2Q9BBCo1HmJakfvApnpTmo8\n2IVI\r\n=EVQY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDVqvyKavpcxy316k/zMQKCaNFi+RQ7xmJCQf/Y6ojuEAiA/xe2bnEc6Io6n6akqpJzn3IJoTEM3F9v4YmtW9ozLyw=="}]},"maintainers":[{"name":"andrewhcloete","email":"andrewhcloete@gmail.com"},{"name":"tertiusfcloete","email":"tfcloete@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/camsapi_0.4.7_1547057667696_0.9752365426998104"},"_hasShrinkwrap":false,"deprecated":"Newer version released."},"0.5.0":{"name":"@capealoesa/camsapi","version":"0.5.0","description":"Cape Aloe Management System API","main":"dist/index.js","typings":"dist/index","scripts":{"build":"tsc","test":"jest --forceExit --runInBand --verbose"},"jest":{"globals":{"ts-jest":{"tsConfigFile":"tsconfig.json"}},"moduleFileExtensions":["ts","js","json"],"transform":{"^.+\\.(ts|tsx)$":"./node_modules/ts-jest/preprocessor.js"},"testMatch":["**/test/**/*.test.(ts|js)"],"testEnvironment":"node","testPathIgnorePatterns":["<rootDir>/node_modules/","<rootDir>/test/helpers/"]},"repository":{"type":"git","url":"https://source.developers.google.com/p/camsserver-ts/r/camsapi"},"author":{"name":"Tertius Cloete"},"license":"ISC","dependencies":{"@types/uuid":"^3.4.3","moment":"^2.22.0"},"devDependencies":{"@types/jest":"^22.2.3","@types/node":"^9.6.40","jest":"^22.4.4","ts-jest":"^23.10.5","typescript":"^2.9.2"},"gitHead":"33b24c28123ad7983c1a2f54f95403a6e9198102","_id":"@capealoesa/camsapi@0.5.0","_shasum":"5527e6c56ece97b02b90816cadd2fd54698b8aeb","_from":".","_npmVersion":"3.5.2","_nodeVersion":"8.10.0","_npmUser":{"name":"tertiusfcloete","email":"tfcloete@gmail.com"},"dist":{"shasum":"5527e6c56ece97b02b90816cadd2fd54698b8aeb","tarball":"https://registry.npmjs.org/@capealoesa/camsapi/-/camsapi-0.5.0.tgz","integrity":"sha512-XQKxL0cQVHwVCFE7ElHDKeP+4o9H04qPvnLHBAmhwwWQsj5NlTDionaN811+uPZM5fTjd7idre4D4oP5eaj+NQ==","fileCount":53,"unpackedSize":236773,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcxS5lCRA9TVsSAnZWagAAcGYP/3Cnm2B8IeFppota0Zup\nWWHHhX+yyd4lV65MtAQuMA4jw6+6lxQlkoJbsKgXFqK/2DyW6q7/YolwoITO\n2a+ocb1sbpB+ePs9svRbnYFKWk5Ye/wBR8A6YGxzoI2np/Z0aqqo7BVcGAh3\nGKg7hY5LDpoFbXUTryg/eq/wJflOrJV5rwwoM1sZkVKI/qMW8biE8rfgn+zO\nKAiETciSmUCac5nraY9XpuIuCJuVLpS6CYOBQhBEW2vb7aTxMC1dRPbsgPBf\nyrPfmMIRjkDOg1c4YmNg1G1Tw0kwHADi0jMo0nzzNK6PKAhzlP85CkFzC7vM\nT29HzNgl2eyhgBINn5tb9vTQQDDV4G1dFihmBkLWhjEGJX3HBs3iYHjoftsz\n/g1T2OtEhKepShZBVrixt8EBZesT5eD9i1G5xU7xl1RPkq7Ncdhkk8WlJ9PD\nlOJS18McVtUNBZZwet+OKp6aY16XYJ/OMbr01tGDItGL5o7y1bnUZLcPhUY8\nohJcEHyGzqk5eFBBTbATvHuJ4fld6kxJfu16CA0REtRHvH9Nrmvvo9pZLouI\n0x2mPzvuzaz4yd0bPkVzhWxlbtBOoGHwf/DhyUejjONk8wnEPxG9w44zin+H\nvnX9gQUPKG/KKBbt0UBgj4RkaGPCz9mvhrDUZ6OJfFJ397oJm703tlS7qa2c\nUPX3\r\n=AoU6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCblSniro7fabCx+uHYfv1Ol04VcWhV1OaZVMZ2KlRKGQIgDykXYUREmPHv8jQCKG2KDfIbsF8Ml5Ug8jpW73smn60="}]},"maintainers":[{"name":"andrewhcloete","email":"andrewhcloete@gmail.com"},{"name":"tertiusfcloete","email":"tfcloete@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/camsapi_0.5.0_1556426340285_0.7401095990445286"},"_hasShrinkwrap":false,"deprecated":"Newer version released."},"0.5.1":{"name":"@capealoesa/camsapi","version":"0.5.1","description":"Cape Aloe Management System API","main":"dist/index.js","typings":"dist/index","scripts":{"build":"tsc","test":"jest --forceExit --runInBand --verbose"},"jest":{"globals":{"ts-jest":{"tsConfigFile":"tsconfig.json"}},"moduleFileExtensions":["ts","js","json"],"transform":{"^.+\\.(ts|tsx)$":"./node_modules/ts-jest/preprocessor.js"},"testMatch":["**/test/**/*.test.(ts|js)"],"testEnvironment":"node","testPathIgnorePatterns":["<rootDir>/node_modules/","<rootDir>/test/helpers/"]},"repository":{"type":"git","url":"https://source.developers.google.com/p/camsserver-ts/r/camsapi"},"author":{"name":"Tertius Cloete"},"license":"ISC","dependencies":{"@types/uuid":"^3.4.3","moment":"^2.22.0"},"devDependencies":{"@types/jest":"^22.2.3","@types/node":"^9.6.40","jest":"^22.4.4","ts-jest":"^23.10.5","typescript":"^2.9.2"},"gitHead":"8b2fc81cdbae2ec83d906242e0bec191ec547d65","_id":"@capealoesa/camsapi@0.5.1","_shasum":"34eaba172f0a40042108e3c4ad41d3571a0b8c96","_from":".","_npmVersion":"3.5.2","_nodeVersion":"8.10.0","_npmUser":{"name":"tertiusfcloete","email":"tfcloete@gmail.com"},"dist":{"shasum":"34eaba172f0a40042108e3c4ad41d3571a0b8c96","tarball":"https://registry.npmjs.org/@capealoesa/camsapi/-/camsapi-0.5.1.tgz","integrity":"sha512-7YiA/P/msCHQypBfZuG5zIeGHRtYn8un/tT4nF78yUwB597JfpSTLsq4hnIAtPPGGQIro8KAa6i89xab3WpcTA==","fileCount":53,"unpackedSize":236916,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcxW3RCRA9TVsSAnZWagAARVIP/1GuE2SdVcB8kP3ndHDo\nXZLSpGb5GN6aVGOOdKQa/wgUIbiuZG7Nw9NqeQiP/VqfTsgADqhBNH+Be1NA\n0hUnK4X1Otgpwiidr9UXsfRW3oVCvDCxqI7e+0baJ1L78PuTFbsvgflvPOuV\nMNV/lskBolOpCMCwu+XSv1kftYrltsB8Ejmf6sH5hmocDU5sIqnTOrd1UaGr\nmKoUpXXvNGrlr4YOSC7UO+CebuZwjUvBpPe/pG/b4+8584i08sfjDHsjK8U8\ndPKJdJoNVRTM4iR4N3Bd9w6Zlg+XWATkPZwU+KVGcRHxnD5vrChV8RaB+VrC\nxWyJDzIr2+kZzM544CpxA5bFl0NT8TarJadHtupihY823xvd6NxZ1/Euf8yY\nvOtbABhSqZizs2mmlDIuxLRwh/ukjSCd1Uumf/xE+4xio5Hu99PR61bmKRma\n79FAqfPLrR5/pX5HVpAjgxqIOZVgjsMN6w4xZW8lVA/5yhbktu6ufqijoNLH\nA9Kj0Ndc7XNy4CjVIi6sbRUYa0rfueY+C3P5qT6d5H961R4otzbuWWHr2MSI\nMZurCPMvQm39u/UIpQ11lN312aOo/nnVsCPciikRp6cRiWhZgSZ6tlUVNrTj\nm77UUirMpc8/ToXtzKXr4PRsYOaRsYDOJfbJQY9A3ZAMidxrumymisGwnRVz\npy1B\r\n=jTuw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDu811ZRGl+893lDks7Qo93zDC3EbwloZ7GrrNpvv9iKAiEA3jCjE9Wtjv90kaIWVRmYF/BIbkVk9ZUSNiJWkKpZU6Q="}]},"maintainers":[{"name":"andrewhcloete","email":"andrewhcloete@gmail.com"},{"name":"tertiusfcloete","email":"tfcloete@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/camsapi_0.5.1_1556442576337_0.7789632138302724"},"_hasShrinkwrap":false},"0.5.2":{"name":"@capealoesa/camsapi","version":"0.5.2","description":"Cape Aloe Management System API","main":"dist/index.js","typings":"dist/index","scripts":{"build":"tsc","test":"jest --forceExit --runInBand --verbose"},"jest":{"globals":{"ts-jest":{"tsConfigFile":"tsconfig.json"}},"moduleFileExtensions":["ts","js","json"],"transform":{"^.+\\.(ts|tsx)$":"./node_modules/ts-jest/preprocessor.js"},"testMatch":["**/test/**/*.test.(ts|js)"],"testEnvironment":"node","testPathIgnorePatterns":["<rootDir>/node_modules/","<rootDir>/test/helpers/"]},"repository":{"type":"git","url":"https://source.developers.google.com/p/camsserver-ts/r/camsapi"},"author":{"name":"Tertius Cloete"},"license":"ISC","dependencies":{"@types/uuid":"^3.4.3","moment":"^2.22.0"},"devDependencies":{"@types/jest":"^22.2.3","@types/node":"^9.6.40","jest":"^22.4.4","ts-jest":"^23.10.5","typescript":"^2.9.2"},"gitHead":"8b2fc81cdbae2ec83d906242e0bec191ec547d65","_id":"@capealoesa/camsapi@0.5.2","_shasum":"e21342c4402f21fc0e76c6133429b0cdac5fa328","_from":".","_npmVersion":"3.5.2","_nodeVersion":"8.10.0","_npmUser":{"name":"tertiusfcloete","email":"tfcloete@gmail.com"},"dist":{"shasum":"e21342c4402f21fc0e76c6133429b0cdac5fa328","tarball":"https://registry.npmjs.org/@capealoesa/camsapi/-/camsapi-0.5.2.tgz","integrity":"sha512-tRC1fUB67JdRNfypvt2KL975SmeAtPY+kubx1lmI/dXvZtP0kHfgs+H8ulIACKavI/7iD3zK/MhxeL6yxrqZRg==","fileCount":53,"unpackedSize":236906,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcxW+tCRA9TVsSAnZWagAAs/4P/0vpuLL7MHBh7I9RzAk4\nSrwa7da2slymanPeuj6OWEv00Gk16EfoxGfsNf2Ex4QonmlJgOYF+sGtYOpV\nWkASqTxZ07qffKPl5VsZlfuOK9c/ijHJaZpCPL05mc/JbXm1tmb9s20NB9GB\n6IuD9LVC6ArLEtPuSkThj8uUbrVholFbGSROErvfrn+1zMbIqYM0LGx97cDT\nBH2OuShJt97grx6GkQUzADU0POp6sPF834Qpg9EN8gXkHZ4Ou1DANoNNzXYu\nw3E9DcKo3D2xaHyucBQkgVEE7LyBB2z2RV4mieURNodWNG39DyyO/paIeedS\nn7M92M0A2WBbvQVRzm+nPiiMIjCePbe2X/aquWTL+YXh2talZCqvrPQfJ4Bb\nwgoY2hTmtHsUXB6XuHdV1snyRI2BiDjbkR88GfW6LupAQc67NWaNq+T2RljB\nXpF7OZdo0E4fCAVKkG6Uqfo9z6CnX3+RuBW4QZ6neC1HLfJ7ZGKl155v+vIv\n9EkyOUf8K7VAkxqCttbJnN/6zkXJ/Wk0jPb/M645Pu51mMvlrTUBwM5hgo3g\nM7WTaPV4Cf8WQLKnvf0ucAhYb4XQgKandb4gIiuEjeVqCBxyOHWcRaYOdysL\nmcAKJ1skVId6+hLc4JbIhOMGmQ6k1FLYhgQgm5N42QMMmPTK9D6gjwg3hcxM\nrIzM\r\n=2H9n\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFdmX3VP8y6ygrkHVbc6eiAuvmtlFb4yOwfZa64PCVb7AiEAxxaa5gOgHrtcx3p7xUhcXQyWRxNqN24Icdi7DmTSXOw="}]},"maintainers":[{"name":"andrewhcloete","email":"andrewhcloete@gmail.com"},{"name":"tertiusfcloete","email":"tfcloete@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/camsapi_0.5.2_1556443052427_0.565406512236645"},"_hasShrinkwrap":false,"deprecated":"Newer version released."},"0.5.3":{"name":"@capealoesa/camsapi","version":"0.5.3","description":"Cape Aloe Management System API","main":"dist/index.js","typings":"dist/index","scripts":{"build":"tsc","test":"jest --forceExit --runInBand --verbose"},"jest":{"globals":{"ts-jest":{"tsConfigFile":"tsconfig.json"}},"moduleFileExtensions":["ts","js","json"],"transform":{"^.+\\.(ts|tsx)$":"./node_modules/ts-jest/preprocessor.js"},"testMatch":["**/test/**/*.test.(ts|js)"],"testEnvironment":"node","testPathIgnorePatterns":["<rootDir>/node_modules/","<rootDir>/test/helpers/"]},"repository":{"type":"git","url":"https://source.developers.google.com/p/camsserver-ts/r/camsapi"},"author":{"name":"Tertius Cloete"},"license":"ISC","dependencies":{"@types/uuid":"^3.4.3","moment":"^2.22.0"},"devDependencies":{"@types/jest":"^22.2.3","@types/node":"^9.6.40","jest":"^22.4.4","ts-jest":"^23.10.5","typescript":"^2.9.2"},"gitHead":"2f6bc3e37ad3bf5c580f0d402fee0f8ba29efef7","_id":"@capealoesa/camsapi@0.5.3","_shasum":"d22732b4bbf0c74d3162300bb2d2626252dec0b8","_from":".","_npmVersion":"3.5.2","_nodeVersion":"8.10.0","_npmUser":{"name":"tertiusfcloete","email":"tfcloete@gmail.com"},"dist":{"shasum":"d22732b4bbf0c74d3162300bb2d2626252dec0b8","tarball":"https://registry.npmjs.org/@capealoesa/camsapi/-/camsapi-0.5.3.tgz","integrity":"sha512-LWbZrHiT0AMaHf0SdtVqnD3gS/MayRRlLD6Yed+2VFsJkbpHcaT/H2pjqyjY+X3B0OuCgFjsO5yYtvLTHK1EeQ==","fileCount":53,"unpackedSize":237105,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcyxvLCRA9TVsSAnZWagAAfzQP/3rIrsB0inhyBDORk/od\nS1FkqATDm6FxlAeDmwuzSSHz/W1tJtsFUyH5Y3Fx31FriVtVFD+Yf4pZRCny\nTpFn+1AsBJMFEKVK8vM6rpNjlhFv8W0JC+jBW9liTFs79wLPieyf/RpSA9q2\ntDHESPN/asKCbRoJA/gnKFTZPCtiJjZywRhNb2jG/pXnb1p+ybKWInA2b0J9\ny9yFXGrGnjpQWDX7QBF1LJohq+BJJwDCRv0AFOrS1RkxEowudifcXFY+CUXh\nMhyEL9hLP3d8xjOWOHRhVRNaF14Ur6jHd+3yl9wmVht3BTIFISFYN4qN3xQc\n/cj4OOhVYK59F3FMfsutrFQp4B/csxFz9XrFDmxVk+ZHfeDfVvBAWSgtkV7S\nGjbVC76xE8iNHnCkZM2vls61o7d0vLaUYn8BBVx7FVPNpxmGo6Z6ZoKnCufz\ncjO7AfOzj7uuaN2dG6PDrjBSWXLuscXmasMbCNJdM375FiQVjZMvfB/VQLT8\n+3VhibLavBKgDQYm5fIXpEMzCPAF4R0+l1RJeS24uLsPX0UZ15+CtabN0cMo\nNOZqS5OmAwkApiHV9qVkcNfDhmYze4mACnFcutDqmlqWHgaKfOCUZa24fggC\nDjdn447A6FtDT8l2HnZbkehbAAR+zgYpttkqkJWqQn1zIfW8ppcyKgwyCFCP\nq8q/\r\n=bjKx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH1pCSoxV7WBdqraOQi5Y8JuMSrjGHYpVeeIYAJX6CW/AiEAwbGUFUOOtO/gY8MUP5XFbrmC9nj/3h3SLLFROCAr2hY="}]},"maintainers":[{"name":"andrewhcloete","email":"andrewhcloete@gmail.com"},{"name":"tertiusfcloete","email":"tfcloete@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/camsapi_0.5.3_1556814794250_0.8299012088689257"},"_hasShrinkwrap":false,"deprecated":"Newer version released."},"0.5.4":{"name":"@capealoesa/camsapi","version":"0.5.4","description":"Cape Aloe Management System API","main":"dist/index.js","typings":"dist/index","scripts":{"build":"tsc","test":"jest --forceExit --runInBand --verbose"},"jest":{"globals":{"ts-jest":{"tsConfigFile":"tsconfig.json"}},"moduleFileExtensions":["ts","js","json"],"transform":{"^.+\\.(ts|tsx)$":"./node_modules/ts-jest/preprocessor.js"},"testMatch":["**/test/**/*.test.(ts|js)"],"testEnvironment":"node","testPathIgnorePatterns":["<rootDir>/node_modules/","<rootDir>/test/helpers/"]},"repository":{"type":"git","url":"https://source.developers.google.com/p/camsserver-ts/r/camsapi"},"author":{"name":"Tertius Cloete"},"license":"ISC","dependencies":{"@types/uuid":"^3.4.3","moment":"^2.22.0"},"devDependencies":{"@types/jest":"^22.2.3","@types/node":"^9.6.40","jest":"^22.4.4","ts-jest":"^23.10.5","typescript":"^2.9.2"},"gitHead":"74d7c1f2e790f4d313134208a1c4c9057cbbccc3","_id":"@capealoesa/camsapi@0.5.4","_shasum":"c7d7de0a80261a99b77fd31451fc2a2b21734f5f","_from":".","_npmVersion":"3.5.2","_nodeVersion":"8.10.0","_npmUser":{"name":"tertiusfcloete","email":"tfcloete@gmail.com"},"dist":{"shasum":"c7d7de0a80261a99b77fd31451fc2a2b21734f5f","tarball":"https://registry.npmjs.org/@capealoesa/camsapi/-/camsapi-0.5.4.tgz","integrity":"sha512-hIGWZZWJTlw07fluf2QUdoGYyyaitAn/CQFEimWuNlC9EMWrJTDh3k2+Guy7SgjmbrzC2xNpg1iQZiFZVvNEhg==","fileCount":62,"unpackedSize":244860,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc1BC/CRA9TVsSAnZWagAAUqYP/0b4kzuX4H6Em06hkg5b\nW6d6HK3OeOvgLtr0w/fPyPIz//mFQIA8i8B35BYxgZYP40AiSXTtnxZJQKZa\nYlesWB6XxD1+K+8QIN3xoy7iZ9fy9E1/nmK0c4cUfOT87IDDx1nxKFXA7oCf\nfUTKr+c+3hyXx0u/ydZru1iSUCREgDZQDaMlj/ClKE3CiPIstMmYrqzoka2P\nVuhGd8ye92LhZ3Mr2wCAZjUizCx/bSVp9AHKTPUbM3PzLn9909Dyc5bRN7OI\nVyGc6+YCazpHmLIBtXeNSuvkymPYYYXI3muS/BJrpsyMa/Domu1OINydewQi\n7oUy70wpaboyJ8Rw938HVsdnXns94q9Gtvie6NTXSH2t4NxPcrjcXsjwd9Br\n7p3rBYFvuLOuAfwtsBPET+17nRMRqKllvy9rQ0B4M/IhsIhWjLd0UZF5rlUO\nhAnsjCFUxjv/wpr55zu/tw+SgxQtqCSmedjeRj6rzVTONaHyriEKBWlApZMa\n+ALuebV4HuWyh00WQ9GkFlvSbWFvHhgKDlAvF92snCwi6TbKt8CpJPLh/KTq\nPyRSmuEZHYZRkn5RhLBjpRwaFqO6jzmbk2jkBCt6sWfRZw5tPDwbOhnPfvRj\n7WDqnbwwJNWaHqy+UK30Qb8s1NeTPSeHYYN8BuEAwIK/yeKIMaM4jRAbQYHb\nxxA9\r\n=yxRo\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDNR3n/G0AKphzXBGpqC6BaLTliKKzVOxdcwxWCaaeyeQIhAJjfbL7foA08DhR/lZtZgxibVGJBSm24qG0MV0g0Ql8u"}]},"maintainers":[{"name":"andrewhcloete","email":"andrewhcloete@gmail.com"},{"name":"tertiusfcloete","email":"tfcloete@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/camsapi_0.5.4_1557401790825_0.3494507233198765"},"_hasShrinkwrap":false,"deprecated":"Newer version released."},"0.5.5":{"name":"@capealoesa/camsapi","version":"0.5.5","description":"Cape Aloe Management System API","main":"dist/index.js","typings":"dist/index","scripts":{"build":"tsc","test":"jest --forceExit --runInBand --verbose"},"jest":{"globals":{"ts-jest":{"tsConfigFile":"tsconfig.json"}},"moduleFileExtensions":["ts","js","json"],"transform":{"^.+\\.(ts|tsx)$":"./node_modules/ts-jest/preprocessor.js"},"testMatch":["**/test/**/*.test.(ts|js)"],"testEnvironment":"node","testPathIgnorePatterns":["<rootDir>/node_modules/","<rootDir>/test/helpers/"]},"repository":{"type":"git","url":"https://source.developers.google.com/p/camsserver-ts/r/camsapi"},"author":{"name":"Tertius Cloete"},"license":"ISC","dependencies":{"@types/uuid":"^3.4.3","moment":"^2.22.0"},"devDependencies":{"@types/jest":"^22.2.3","@types/node":"^9.6.40","jest":"^22.4.4","ts-jest":"^23.10.5","typescript":"^2.9.2"},"gitHead":"690cc718004e78400a2b1470cfafee8e2b244ef0","_id":"@capealoesa/camsapi@0.5.5","_shasum":"61774871e6aabc7e66c331eb67ea69d1a160be9c","_from":".","_npmVersion":"3.5.2","_nodeVersion":"8.10.0","_npmUser":{"name":"tertiusfcloete","email":"tfcloete@gmail.com"},"dist":{"shasum":"61774871e6aabc7e66c331eb67ea69d1a160be9c","tarball":"https://registry.npmjs.org/@capealoesa/camsapi/-/camsapi-0.5.5.tgz","integrity":"sha512-jmLO0kcpjCWuzlaVE5mIB/7d03vFPLGHi3m5Fees/ZZjrcrnq53OfS/H3oOnrySGuVfc64zawt+kambYS06IJg==","fileCount":62,"unpackedSize":244902,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc1E7iCRA9TVsSAnZWagAA7t4QAIGqmCpVoYLy9azEQLvP\nIoOZYCdDUpd/0bVZq6Ju8S6eA12in8skPoOO2XJPmdMSE5XY+SuDcQxu+7CH\nu/Sn4GTCoZPVqZD9dGPYkQ2y5ufg39vJ2XDSaXutLTdMTOXHMDc1+Fq+eE+N\nUWW3yZh01K49ziQC5LlfCpKFDvtjNaU/LfvN5MILOQ8nu8SQhjVzmGK45uXs\nf0gwlw1FDGy7zHmg+n4D5p0ZFDBEIYFNg2I06IofQA7nmc03eAtXo3CH8KB+\nhiAT1aAuULZs2H8NhqBZab6G4pARiLIxlKpinw3k01Tr7FXwdiANU4JGv5ox\nqCshyCIZ5NXRmrT9a3rGgkl8Cue1pV91XcNqPjy+tBOnAz7b9a1wfPs1QOiO\nrC/oRNKJ8uSRQXU0th0zPicjQbuqe2rfV49truLC7TJsoY+G2ZygDaDQjQvi\nPPqy/kF21Ze6Zz8vTTIaREn7KYn9dzu02xNzZ/fOK9zSPN/K75hJ9E80PcT4\nIxwY1D0anbAylXPBIBhrvVx7PE9E9dqJk1cNbCnMvYaYcrrEh5M1Y4rUzO6Z\nd5OlQ1o6Zarjt8Zo3ssQ/3u76PyZ7aEjZrFWRUDkS2G5wr2GrwWa9QpHcvIN\nJt2DJGYGokEAy2bnsSaak14mMqFAv93zonGdtBA+1z4KPdxgzE9nHhZYZ0xC\nhm1Z\r\n=oNih\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCHw3fY+y4JBZqGo51mo/IlYxwVV8bHz+ngwffLx7aqtcCIQCQud7U6kPqNdLR0O5clR8kfPriN7Be/d23IvH5vxImEA=="}]},"maintainers":[{"name":"andrewhcloete","email":"andrewhcloete@gmail.com"},{"name":"tertiusfcloete","email":"tfcloete@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/camsapi_0.5.5_1557417697625_0.6341003504120539"},"_hasShrinkwrap":false,"deprecated":"Newer version released."},"0.5.6":{"name":"@capealoesa/camsapi","version":"0.5.6","description":"Cape Aloe Management System API","main":"dist/index.js","typings":"dist/index","scripts":{"build":"tsc","test":"jest --forceExit --runInBand --verbose"},"jest":{"globals":{"ts-jest":{"tsConfigFile":"tsconfig.json"}},"moduleFileExtensions":["ts","js","json"],"transform":{"^.+\\.(ts|tsx)$":"./node_modules/ts-jest/preprocessor.js"},"testMatch":["**/test/**/*.test.(ts|js)"],"testEnvironment":"node","testPathIgnorePatterns":["<rootDir>/node_modules/","<rootDir>/test/helpers/"]},"repository":{"type":"git","url":"https://source.developers.google.com/p/camsserver-ts/r/camsapi"},"author":{"name":"Tertius Cloete"},"license":"ISC","dependencies":{"@types/uuid":"^3.4.3","moment":"^2.22.0"},"devDependencies":{"@types/jest":"^22.2.3","@types/node":"^9.6.40","jest":"^22.4.4","ts-jest":"^23.10.5","typescript":"^2.9.2"},"gitHead":"4b168426c575173cc0c5986a99e680a083521db8","_id":"@capealoesa/camsapi@0.5.6","_shasum":"b5d1874994e4f87e650a6de07522c9f44b363d28","_from":".","_npmVersion":"3.5.2","_nodeVersion":"8.10.0","_npmUser":{"name":"tertiusfcloete","email":"tfcloete@gmail.com"},"dist":{"shasum":"b5d1874994e4f87e650a6de07522c9f44b363d28","tarball":"https://registry.npmjs.org/@capealoesa/camsapi/-/camsapi-0.5.6.tgz","integrity":"sha512-mHaMv/MiiAVVFdaQkCztgejxP9tGwTS8CqzUKQzkdgYs2QmcY0RJ6gXlSGZ+3nw7x68fZPUDRJlsr3n45pwXLw==","fileCount":62,"unpackedSize":244967,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc1WQRCRA9TVsSAnZWagAAy2kQAJRfRY+VikhfTxrZg+pk\nBRMIdXhf1BZ6N5DlgiJlj8SFM7U7V2CdJvQ2etr0EhtKTZx6VRwvMCXKaTKJ\nne5vQ0SuKnoY2Aql/jX2ChO3nsCQXgM4vOZzfR52MhV1w95fmNDhMPVB8Gec\nLpmSwZy4n2GmAaHgWUwGE2tKZL3iE+jTwsTk+ZGKj8YmLliujcOYVo6NqpBw\ndSaJ3vjdv528rE0Oh4xL4mWGp4YtLJK8tHa3gQV62HKnm55pprMX+bn/J/Ed\nDj+0WN8Wwa3zWmUEBEtcOc/V18ajmtIfnhskjD91Ka4RlXMlKw1DqnMBrfW4\n65pKCFRtxFgGzbZSy41sBFlN3puMlRa0xOOVIM4kIhMy+pcuU76htVgiMG+8\nv1t5A06IqfKTwgZemEZjwPJ/EB8EUXf5UVutUOKLupKTegZxE0va4wU4kREd\n4kWrinozYlHkFmdOXWjhN5HONxp0OGIJXqSqsSbkTF7ee8N/fXwP/49FHIDF\n0kGruuWKWjTWQuFiO8tjU13dlEgIT9jPsHkPGfZyjAHKKArWS/V3qDaKrccC\n1mpdzJy94Wp3u2ElYm9VmzS4A3EAGJl9y/yTSZJ7PxmFULcbz2MgY7+mM9fI\nZqX99UaFpaJADaAk6EUq7ternVkOGPtw0hTRaIaUn1evUx4QXF/YwdeL+i2B\n7D0a\r\n=jjgZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHIUNweV1sUV3a8VYJtMXJB8zWeyIabsjs3Jxy38cMTsAiBugadboh5kXNi4xCbCgYXJ+RAFlB9g73ZFDmWQhOpaaw=="}]},"maintainers":[{"name":"andrewhcloete","email":"andrewhcloete@gmail.com"},{"name":"tertiusfcloete","email":"tfcloete@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/camsapi_0.5.6_1557488656687_0.9854526858895483"},"_hasShrinkwrap":false}},"time":{"created":"2018-12-15T14:38:24.700Z","0.4.0":"2018-12-15T14:38:25.020Z","modified":"2022-04-04T21:44:54.769Z","0.4.1":"2018-12-16T08:30:32.317Z","0.4.2":"2018-12-17T09:11:32.201Z","0.4.3":"2018-12-17T09:41:12.700Z","0.4.4":"2018-12-17T11:18:43.432Z","0.4.5":"2019-01-03T07:46:07.903Z","0.4.6":"2019-01-09T16:47:37.599Z","0.4.7":"2019-01-09T18:14:27.911Z","0.5.0":"2019-04-28T04:39:00.437Z","0.5.1":"2019-04-28T09:09:36.478Z","0.5.2":"2019-04-28T09:17:32.618Z","0.5.3":"2019-05-02T16:33:14.399Z","0.5.4":"2019-05-09T11:36:30.975Z","0.5.5":"2019-05-09T16:01:37.759Z","0.5.6":"2019-05-10T11:44:16.828Z"},"maintainers":[{"email":"tfcloete@gmail.com","name":"tertiusfcloete"}],"description":"Cape Aloe Management System API","repository":{"type":"git","url":"https://source.developers.google.com/p/camsserver-ts/r/camsapi"},"author":{"name":"Tertius Cloete"},"license":"ISC","readme":"# CAMS models\n\n## Publish procedure\n\n- Updated version in `package.json`\n- Delete `dist` folder before building (sometimes building does not overwrite properly!)\n- Build: `npm run build`\n- Publish: `npm publish --access public`\n- Deprecate: `npm deprecate @capealoesa/camsapi@v0.5.5 \"Newer version released.\"`\n- Git commit: `git commit`\n- Git push: `git push`\n- Git merge to Master: `git checkout master` then `git merge v0.5`\n- Git push Master: `git push`\n- Git Tag: `git tag v0.5.6`\n- Push with option: `git push --tags`\n\n## Log\n\n### Friday, 10 May 2019\n\n- Change SageSalesOrder\n- Publish v0.5.6\n\n### Thursday, 9 May 2019\n\n- Add SalesOrder\n- Add ItemActivity\n- Publish v0.5.4\n- Fix SalesOrder typos\n- Publish v0.5.5\n\n### Thursday, 2 May 2019\n\n- Add Category Description to Item\n- Publish v0.5.3\n\n### Sunday, 28 April 2019\n\n- Fork v0.5\n- Update Purchase Order Enity\n- Add Item Category Entity\n- Publish v0.5.0\n- Export Item Category\n- (Unpublished v0.5.1)\n- Publish v0.5.2\n\n### Sunday, 28 April 2019\n\n- Add more properties to sage entities \n- Publish v0.4.6\n- Add created to camsItemEntity\n- Publish v0.4.7\n\n### Saturday, 29 December 2018\n\n- Add NumericUserField3 to SageItem\n- Add itemId to camsScheduledReceipt\n- Rename the schemas\n- Publish v0.4.5\n\n### Saturday, 29 December 2018\n- Add NumericUserField3 to SageItem\n\n### Monday, 17 December 2018\n- Remove 'Cams' prefix\n- Fix ItemBatchSchema\n- Publish v0.4.2\n- Fix ItemBatchSchema...some more\n- Publish v0.4.3\n- Add selectionId to PurchaseOrderItem\n- Publish v0.4.4\n- Refactor Item\n\n### Sunday, 16 December 2018\n- Add CamsPurchaseOrder\n- Move SagePurchaseOrderItems into SagePurchaseOrder\n- Move BomItem into Bom\n- Add/Fix semicolons...\n- Publish v0.4.1\n\n### Saturday, 15 December 2018\n- Migrate to new NPM package \"camsapi\"\n- Publish v0.4.0\n\n### Tuesday, 11 December 2018\n- Remove everything except the schema interface definitions for the Sage API \n  and the CAMS API \n- Publish V0.4.0\n\n### Sunday, 9 December 2018\n- Add Item Adjustment Schemas\n- Add Item Movement Schemas\n- Publish v0.3.33\n- Create git branch v0.4\n\n------------------------------------------------------------------------------\n### Friday, 27 July 2018\n- o Calculate closed form requirements solution. Implemented `bom.calc.linearQty()` and `bom.calc.linearQtyAvail()`\n- o Built and published models v0.3.31\n- o Fixed bug in `maxMapToJson()`\n- o Built and published models v0.3.31\n- Rename `calculateQtyPossible()` and `maxMapToJson()` on `bom.calc` function\n- `BomItem.qtyPerUnit` may not be 0 or less \n- Replace all `console.logs` with `expect` statements in tests \n- Draw out graph for TEST items (use as ground truth)\n- Write test that gives warning when *default* values during sageItem deserialization occurs\n- Write JSON for updated maps and trees\n\n------------------------------------------------------------------------------\n# Thursday, 26 July 2018\n- o Added intermediate item to `test.mps.json`\n- o Remove initial stock negative check\n- o Built and published models v0.3.27\n- o Implement `removeZeros()` for MrpTable\n- o Built and published models v0.3.28\n- o Modify `MrpCalc.pullItemGrossRequirements()` to return parentIds with qtyPerUnit value as well\n- o Remove `CamsItemCollection` class.\n- o Built and published models v0.3.29\n- Cleanup\n    - x Swap all instances of `pTree` with `cTree` and vice versa (from an MRP viewpoint, this naming convention is correct)\n    - x MRP: Assign depth level to each item so that they may be arranged as such. \n    - o MRP: Flag between `end-item`, `intermediat item`, `raw material`\n    - o MRP: Add item Code and sageId\n    - o MRP: Period number and starting date \n    - o MRP: Track origins of gross requirement\n    - x `calculateTotalRequirement` to return JSON as well\n    - o Design and document new BOM/MRP calc structures and discuss with dad\n- o Implemented `calculateQtyPossible()` and `maxMapToJson()` on `bom.calc`\n- o Built and published models v0.3.30\n\n\n\n------------------------------------------------------------------------------\n# Wednesday, 25 July 2018\n- o BUGFIX: `MPS.periodLength` always set to `W`.\n- o Added `id` to `mps.json` test data\n- o Built and published models v0.3.26\n- o Added child item to `test.mps.sjon` and confirmed correct MRP visually\n\n------------------------------------------------------------------------------\n# Tuesday, 24 July 2018\n- o Split `mergeGrossRequirements` into `pullItemGrossRequirements` and `mergePeriodQtyMaps`\n- o Improved unit tests for above\n- o Update `mrp.calc._mrpCalc` to use `pullItemGrossRequirements` and `mergePeriodQtyMaps`\n- o BUG: For loop in MRP calculation implicitly assumes that end-items may not also be sub-items\n- x FIX: remove function `buildDependencyNetwork` and add a dummyRoot node. No. Does not model the logic correctly\n- o FIX: Refactor `mrp.calc._calMrp()` conditions to get grossReq from BOTH `mps` and `mrpTableMap`\n- o Remove `getMrpTableBoundaries`\n- o Add `id` field to `IMps` and `MPS` for persistence. \n- o Built and published models v0.3.25\n\n------------------------------------------------------------------------------\n# Monday, 23 July 2018\n- o Implemented `asVirtualCamsItem()` on `MPS` with test\n- o Built and published models v0.3.24\n- o Removed `asVirtualCamsItem()` on `MPS` with test\n- o Refactor `stockPointsToPeriodQtyMap` to be independent of `tMin` and `tMax`\n- o Remove useless function `mrp.calc.getShedReceiptsMap()`\n- x Refactor `MrpTable` to get `grossReq` as `Map` and deduce `t0` from there. NO!\n- o Refactor MRP calc with fixed boundaries. All negative items get accumulated into a `PastDue` column. \n- o Refactor MPS to use `tMin` and `tMax` in stead of `duration`\n- o Refactor `MrpCalc` to `tMin` and `tMax` of `Mps`\n\n------------------------------------------------------------------------------\n# Friday, 13 July 2018\n- o Implemented `mpsToRootNode`\n\n------------------------------------------------------------------------------\n# Monday, 25 June 2018\n- o BUG: Replaced all `NumericField` with `NumericUserField`\n- o Built and published models v0.3.23\n\n------------------------------------------------------------------------------\n# Friday, 22 June 2018\n- o Updated all `throw \"string\"` to `throw new Error(\"string\")`\n- o Built and published models v0.3.22\n\n------------------------------------------------------------------------------\n# Thursday, 21 June 2018\n- o Added unit test for `sageItem.fromJson`\n- o Updated `generateAbstractSageItemsJson` to fill in UserFields with variable values\n- o Built and published models v0.3.17\n- o Found and fixed BUG1 and BUG2!\n- o Built and published models v0.3.19\n- o Set IRF `leadtime` `safetyStock` and `lotsize` as variables in MRP calculation\n- o Implemented lotsize in `MRPTable`\n- o Built and published models v0.3.20\n- o Fix reading of Qd, Leadtime and Safetystock\n- o MRP: Implement variable lead-time, safety-stock and lot-size\n- o `MrpTable`: set default `Qd` to `\"LFL\"`;\n- o Built and published models v0.3.21\n\n## BUG1: Compiler does not always replace dist\nBUG! `tsc` does not always update content of `dist/` so always delete it! Found that `dist/IRF.js` did not match `src/IRF.ts`. So there is a compiler bug.\n\n\n## BUG2: IRF is added AFTER sage item is updated\nIn the CAMSModel.fromJson method the IRF value is added AFTER the sage item is updated. This means that the IRF will aways have old info. This is from a poor design not clearly separating Cams and Sage models.\nTemprary fix by re-updating the sageItem just before returning the deseriealised cams item.\n\n------------------------------------------------------------------------------\n# Wednesday, 20 June 2018\n- o Added purcahse order test items\n- o Built and published models v0.3.13\n- o Updated `test/resources/mock/purchaseOrders.json`\n- o Built and published models v0.3.16\n\n------------------------------------------------------------------------------\n# Tuesday, 19 June 2018\n- o Design a dependency graphic explorer\n- o MRP: Implemented `mrpTableToJson` in `mrp.calc.ts`.\n- o Set lead time to constant 1 period for testing\n- o Built and published models v0.3.12\n\n------------------------------------------------------------------------------\n# Tuesday, 12 June 2018\n- o Implement standalone function to convert period selection to milliseconds\n- o Built and published models v0.3.11\n\n\n------------------------------------------------------------------------------\n# Monday, 11 June 2018\n- o Updated `mrp.calc.mrpTableToCsv()` to use real date as header\n\n------------------------------------------------------------------------------\n# Saturday, 09 June 2018\n- o Refine API for `bom.calc` and `mrp.calc`. Change to classes with static methods\n- o `bom.calc` and `mrp.calc` added to index exports\n- o Integrate REF_DATE properly\n- o Built and published models v0.3.9\n- o Implemented `getMrpTableBoundaries` and `mrpTableToCsv` in `mrp.calc`\n- o Built and published models v0.3.10\n- o Build model for Mps and IMps, and refactor ad hoc version\n- o Updated `mrp.calc` to use MPS\n- o Added `mps.json` to `TEST` data\n\n\n------------------------------------------------------------------------------\n# Friday, 08 June 2018\n- o Created files `bom.calc` and `mrp.calc` and moved functions from `mrp.proto` there.\n- o Moved `calculateTotalRequirement` and `explodeDependencies` from `camsserver-ts` and deleted original proto implementations from `mrp.proto`\n- o Updated unit tests for above changes\n\n\n------------------------------------------------------------------------------\n# Saturday, 02 June 2018\n- o Update `CAMSItem.addBom()` to overwrite BOM if a BOM in the list with that `id` already exists.\n- o Update `CAMSItem.removeBom()` to reset `mrpBomId` to 0 if removed BOM is the MRP bom.\n- o Implement BOM tests in `camsItem.test.ts`\n- o Built and published models 0.3.8\n- In `mrp.test.ts`, replace console.logs with expect statements.\n\n------------------------------------------------------------------------------\n# Thursday, 31 May 2018\n- Built and published models v0.3.7\n\n------------------------------------------------------------------------------\n# Wednesday, 30 May 2018\n- o Added function `setSchedReceipts` to `MrpTable`. Scheduled receipts are no longer set in the `init` function.\n- o Implement `getShedReceiptsMap` that converts the scheduled receipts of an item to an abstract Map for the `MrpTable`.\n- o shedReceipts must be set after init since we need tMin and tMax to convert\n\n\n------------------------------------------------------------------------------\n# Tuesday, 29 May 2018\n- o Added some inititial stock to TEST raw materials. MRP calculation correct.\n- Deploy new bom schemas\n\n------------------------------------------------------------------------------\n# Friday, 25 May 2018\n- o Implement `calculateMrp`\n- o Implement `mergeGrossRequirements` as subroutine of `calculateMrp`\n\n## Parent-child naming convention\n- Realised that my naming convention of parent and child components are wrong. Parents should be raw materials and children, end-items.\n\n------------------------------------------------------------------------------\n# Wednesday, 23 May 2018\n- x Implement `CAMSItemCollection` dont try to link it with `camsItem.repo`. They are very different things. `CAMSItemCollection` is just a `Map<number, CamsItem>`\n- o Refactor `mrp.proto` to look like the production version.\n- o Implemented `buildDependencyNetwork` performes `buildDependencyTree` on a *list* of sageIds to build one dependency tree;\n- o Implemented `treeToString` function to visualise tree using item descriptions\n\n## Inter item dependencies\nThe MRP calculation cannot be just performed per end-item since multiple end-items may use the same common ingredients. The whole is not the sum of the parts. The master planning schedule must contain all the items that are to be planned.\n\n------------------------------------------------------------------------------\n# Tuesday, 22 May 2018\n- o Finalised single table MRP calculation\n- o Implemented dependencyTree inversion\n- Implement full MRP calculation\n- Deploy new models with new MRP bom parameters (`mrpBomId` and `id:number`)\n- Ask dad to re-upload TEST boms\n- Replace mock/camsItems with new data (changed BOMID and Code is not correct)\n\n------------------------------------------------------------------------------\n# Monday, 21 May 2018\n- o Implemented `MrpTable.toCsv()` method\n- o Improved `MrpTable` API\n\n------------------------------------------------------------------------------\n# Friday, 18 May 2018\n- o Change MRP parameters to `Map` objects so that they can natively handle negative time\n- o Decide on MRP table structure. Specifically how should the case of PORs before today be handled. Map\n\n------------------------------------------------------------------------------\n# Wednesday, 16 May 2018\n- o Started implementation of mrp calculation in `MrpTable`\n\n------------------------------------------------------------------------------\n# Tuesday, 15 May 2018\n- o Add Dads TEST camsItems to test/resources\n- o Export TEST data in `index.ts`\n- o Added function `populate` to `repo.proto.ts` to insert using `CamsItemJson` objects\n- o Modified `mrp.test` to use TEST data instead of `abstract`\n- x Draw dependency tree of TEST items (`explodeDependencies` works great!)\n- o Created `mrpTable` model\n- o Found spreadsheet template to calculate MRP. On Google Drive.\n\n## TEST Items\n`/items?$company=CapeAloeSA&$codelist=TEST001,TEST002,TEST101,TEST102,TEST011,TEST012,TEST013,TEST014,TEST021,TEST022,TEST031,TEST032,TEST033,TEST201,TEST202`\n\n------------------------------------------------------------------------------\n# Thursday, 10 May 2018\n- o Uninstall UUID package\n- o `PlanningBOM` id number that is initialied to timestamp\n- o Changed `Camsitem.mrpBomNumber` to mrpBomId\n- o mrpBom in `PlanningBOM` must be indicated using `mrpBomId` not array index\n\n------------------------------------------------------------------------------\n# Wednesday, 18 April 2018\n- o Updated `stats.calc.mapSchedReceipts()` and added `stats.calc.mapToArray()`\n- o Moved `mapFromSagePurchaseOrder` from server to `ScheduledReceipt`\n- o Added `unit` to `ScheduledReceipt`\n- o Published version 0.3.6\n\n------------------------------------------------------------------------------\n# Tuesday, 17 April 2018\n- o Changed `PlanningBom.name` to `PlanningBom.code`\n- o Changed `PlanningBom.BOMID` to `PlanningBom.id`\n- o Added `PlanningBom.fomulationCode`\n- o Updated `abstract.boms` test data accordingly\n- o Updated `unit tests accordingly`\n- o Published v0.2.5 \n- o Changed `PlanningBom.desc` to `PlanningBom.description`\n- o Add `orderId` and `status` to `ScheduledReceipts`\n- o Published v0.3.0 \n- o Added `ID` and `Date` to `SagePurchaseOrder`\n- o Add `id` to `ScheduledReceipts`\n- o Published v0.3.2\n- o Added `stats.calc.mapSchedReceipts()`\n- o Published v0.3.4\n\n\n------------------------------------------------------------------------------\n# Friday, 13 April 2018\n- o Added `calc/stats.calc` for performing item calculations\n- o Published v0.2.4 \n\n------------------------------------------------------------------------------\n# Thursday, 12 April 2018\n- o Added method `IRF.addScheduledReceipt`\n- o Installed `moment` to validate date strings\n- o Published version 0.2.2\n- o In `models/CAMSItem`: populate IRF using free text fields from Sage item\n- o Added `NumerciField` 1 and 2 to `models/SageItem`\n- o Published version 0.2.3\n\n\n------------------------------------------------------------------------------\n# Tuesday, 10 April 2018\n- o Modify `serialise.util` to run functions to get default values\n- o Implement `assignDfltPrimatives` and `checkAndAssignPrimatives` pattern in all models\n- o Added some basic unit tests for `PlanningBOM`\n- o Added expected results to `testData` for MRP calculations and incorporated in unit tests\n- o Added `idOffset` parm to `gen.helpers` and updated tests\n- o Published version 0.2.1\n\n------------------------------------------------------------------------------\n# Monday, 9 April 2018\n- o Installed `uuid` for generating valid UUIDs\n- o Refactor to BOM array:\n    - o `bomId` is now UUID string\n    - o Updated `ProtoRepo` and tests accordingly. All pass.\n- o Extracted embedded model `SageItemCategory` from `SageItem` to maintain convention\n- o Added `util` which implements dynamic type-checking of json documents using the `defaults` primitives of each model.\n- o Added corrupted test data for CAMSItem and SageItem\n- o Wrote unit tests for CAMSItem  and SageItem to test both positive and negative cases\n- (Still need to implement the pattern for the rest of the models)\n\n------------------------------------------------------------------------------\n# Friday, 6 April 2018\n- o Added `/test/helpers` folder for helper test script. Added to Jest ignore\n- o Added functions in `gen.helpers` to generate mock Sage and Cams items\n- o Exported helpers\n- o Published version 0.1.20\n- o Moved helpers to src dir so they can be compiled properly\n- o Published version 0.1.21\n\n------------------------------------------------------------------------------\n# Wednesday, 4 April 2018\n- o Added all models to index export (forgot some previously)\n- o Added basic Sage interfaces for Purchase orders\n\n------------------------------------------------------------------------------\n# Tuesday, 3 April 2018\n- o Fixed spelling typo in IRF.ts\n- o Restructured: \n    - Created `prototype` folder\n    - abstract and mock data\n    - o Export test data a JSON structure that defines well structured sets\n- o Refactored prototypes to be more orthogonal with test data  \n- o Created class `CamsItemCollection` for bulk operations on camsItems\n\n------------------------------------------------------------------------------\n# Saturday, 30 March 2018\n- o Added IRF to CamsItem\n- o Started adding `BomTree` and `InventoryPolicy` and `mrp.calc` \n\n------------------------------------------------------------------------------\n# Monday, 26 March 2018\n\n# v0.1.15\n- Bug fixes\n\n## v0.1.12\n- Refactored some default values to have single declaration\n\n## v0.1.11\n- Implemented prototype recursive functions that explodes a BOM and calculates total requirements \n\n\n------------------------------------------------------------------------------\n# Friday, 16 March 2018\n\n## MRP\n[Material Requirements Planning-MRP-Part-1 | Dr. Harper's Classroom](https://youtu.be/7jVgC5pF7A0)\n\nMRP input:\n- MPS\n- BOM\n- IRF (Inventory records file)\n    - SR: Scheduled receipts\n    - BI: Beginning Inventory\n    - LT: Lead Time\n    - SS: Safety stock\n    - Qd: Lot size discipline \n        - LFL: Lot-for-lot (exactly)\n        - Fixed: (Discrete amounts)\n        - Minimum: Anything under Discrete amount is LFL\n\nMRP output:\n- Inventory policy: What you need, how many and by when.\n\n\n## MRP MPS RCCP DRP\n- MPS: Master production schedule (plans items that have “direct” demand, called independent demand.)\n- MRP: Material requirements planning (plans items that have “dependent” demand)\n- RCCP: Rough Cut Capacity Planning\n- CRP: Capacity Requirements Planning\n- DRP: Distribution Resources Planning (Managing the flow of materials between firms, warehouses distribution centers.)\n\nHow are these related to Kaizen and Kanban?\n\n[The Difference Between MRP and MPS](https://www.archerpoint.com/blog/Posts/difference-between-mrp-and-mps)\n\"So, if I make a pen, it has a cap, a barrel, a spring. and a refill. Based on the definition above, the pen is an *MPS* item. The cap, barrel, spring and refill are *MRP* items.\"\n\n[Good definitions](http://www.systems2win.com/c/prodDistr/)\n\n\n## v0.1.10\n- Added default OR values to `fromJSON` factory methods. This will prevent trying to store `undefined` values which the datastore does not allow. Refactoring of this must be done in future since this is not internally DRY \n\n## v0.1.8\n- Moved source to folder `src`\n- Added `BOMItem` model\n\n## v0.1.3\n- Added jest unit testing \n    - `npm install jest --save-dev`\n    - `npm install typescript --save-dev`\n    - `npm install ts-jest --save-dev`\n- Added types for node: (to use `require` in tests)\n    - `npm install @types/node --save-dev`\n- Disbled `\"strict\": true` in `tsconfig.json`\n\n\n### NPM typescript module\n- [Basic example](https://github.com/basarat/ts-npm-module)\n- [How to Create and Publish an npm module in TypeScript](https://codeburst.io/https-chidume-nnamdi-com-npm-module-in-typescript-12b3b22f0724)","readmeFilename":"README.md"}